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]

Reply via email to