Robert Enyedi wrote:
Hi,
I've been studying the PHP reference mechanism (with PHP 5.2.1) and
I'm unsure if the following behavior is normal.
This code works as expected:
$a = 2;
$b = &$a;
//$c = &$a;
$c = $b;
$a = 1;
echo $c."\n"; // Prints "2" as expected
but this one does not:
$a = 2;
$b = &$a;
$c = &$a;
$c = $b; // Should overwrite the previous assignment, so $c
// should get a copy of $b (and NOT a reference)
$a = 1;
echo $c."\n"; // I would expect "2", but prints "1"
Could anyone please clarify why this happens?
Regards,
Robert
This is because PHP5 has changed the default behaviour and $a = $b is
now call by reference as standard.
That's my understanding of it.
Martin
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php