|
Posted by Steve on 09/27/07 21:10
"Summercool" <Summercoolness@gmail.com> wrote in message
news:1190926499.884760.217880@w3g2000hsg.googlegroups.com...
>I wonder in PHP5, can we use
>
> $array1 = $array2 as if it is a class?
>
> i think right now, the whole array is copied (by key and value)...
>
> and i want to assign by reference but NOT in the alias sense.
>
> in other world, i want to say
>
> $array1 =& $array2;
> $array2 = range(1, 3);
>
> and I don't want $array1 to change, just like any other objects in
> PHP5.
not sure i follow. the above code will produce *exactly* what you said you
don't want to. have you answered your own question by writing the 8 lines of
code it would take?
$array1 = $array2;
$array2 = range(1, 3);
echo '<pre> copy ' . $array1 . '</pre>';
unset($array1);
unset($array2);
$array1 = &$array2;
$array2 = range(1, 3);
echo '<pre> reference ' . $array1 . '</pre>';
that's all you get in any version of php currently. you get a copy of data
at a new address, or a pointer to an address where the data can be found
(c++ explanation...i know what aliasing is in php...long discussion on that
this week ;^)
what behavior are you wanting that the first echo in the example doesn't
provide? describe this 'reference'.
[Back to original message]
|