This is expected behavior of PHP's reference. Reference works like a pointer,
but it dose NOT works like a pointer. This is case that reference does not
works as many programmer expected.
I think this is in manual.
Hint: when programmer use 'global $var'. It is the same as do '$var = &
$GLOBALS['var']'.
Regards,
Yasuo Ohgaki
=========================
My favorite links
[RFC] http://www.faqs.org/rfcs/ [W3C] http://www.w3.org/
[PHP Manual] http://www.php.net/manual/en/
> Hello,
>
> Try the following code:
>
> <?php
>
> $gGlobal = 1;
> function ChangeGlobalValue()
> {
> global $gGlobal;
>
> $local = 55;
> $gGlobal = $local;
> print "Value:Global=$gGlobal<BR>";
> }
>
> function ChangeGlobalRef()
> {
> global $gGlobal;
>
> $local = 99;
> $gGlobal = &$local;
> print "Ref:Global=$gGlobal<BR>";
> }
>
> print "Global=$gGlobal<BR>";
> ChangeGlobalValue();
> print "Global=$gGlobal<BR>";
> ChangeGlobalRef();
> print "Global=$gGlobal<BR>";
> ?>
>
> I get the following results:
>
> Global=1
> Value:Global=55
> Global=55
> Ref:Global=99
> Global=55 <=========== shouldn't this be 99 ???
>
> Why does setting a global variable to a reference fail in a function?
>
> Tested on PHP 4.0.4 on IIS5 (CGI version).
>
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]