|
global $var1,$var2;
就是外部变量的同名引用,变量本身的作用范围仍然在函数体内。改变这些变量的值,外部的同名变量自然也改变。但是一旦用了&,那么变量将不再是同名引用。
$var1=1;
$var2=2;
function test()
{
global $var1,$var2;//作用范围就在函数体内
$var1=3;
}
test();
echo $var1;结果一定是3。因为是同名引用嘛。
$var1=1;
$var2=2;
function test()
{
global $var1,$var2;//作用范围就在函数体内
$var1=&$var2;
}
test();
echo $var1;结果一定是1。因为在函数内的$var1经过赋值后与$var2具有相同的引用了。进一步看下面代码。
$var1=1;
$var2=2;
function test_global()
{
global $var1,$var2;
$var1=&$var2;
$var1=7;
}
test_global();
echo $var1;
echo $var2;结果一定是1和7。因为在函数内的$var1与$var2具有相同的引用。因此改变$var1的值,$var2的值也作了改变。 |
|
|