On Sat, 2007-09-01 at 11:39 +0100, Martin Ellingham wrote: > 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. In the above example no objects have been used. As such, nothing has changed in the above semantics that do not exist in PHP4. Cheers, Rob. -- ........................................................... SwarmBuy.com - http://www.swarmbuy.com Leveraging the buying power of the masses! ........................................................... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php