Re: strange reference behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the clarifications.

Regards,
Robert

Robert Cummings wrote:
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.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux