先看下面的代码:
<?php
$var1="#####";
$var2="&&&&&";
functionglobal_references($use_globals)
{
global$var1,$var2;
if(!$use_globals){
$var2=&$var1; //1
}else{
$GLOBALS["var2"]=&$var1; //2
}
}
global_references(false);
echo"var2issetto'$var2'<br/>";
global_references(true);
echo"var2issetto'$var2'<br/>";
?>
输出的结果如下:
var2 is set to '&&&&&'
var2 is set to '#####'
可见,上面的代码中:
$var2=&$var1; //1
只对函数内部可见。
而
$GLOBALS["var2"]=&$var1; //2
在全局范围内可见