<?php $var1 = 1;
$var2 = 2; function foo(){
global $var1,$var2;
$var2 = &$var1;
} function test(){
global $var1;
unset($var1);
} test();
echo 'var1 = '.$var1.'<br/>'; foo();
echo 'var2 = '.$var2; ?>
各位看官猜猜最后的运行结果是什么?
如果将第8行中的代码改为:$var2 = $var1,最后的运行结果又是什么?
最后的运行结果是:
var1 = 1
var2 = 2
如果将第8行中的代码改为:$var2 = $var1,最后的运行结果是:
var1 = 1
var2 = 2
这是因为global $var1,$var2是$var1,$var2的别名。第8行代码只是将global $var2和$var1绑定,这并不影响$var2,第13行也是同样的道理。
如果将第8行中的代码改为:$var2 = $var1,它改变了全局变量$val2的值