// global在函数中产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,一旦改变了别名的变量指向地址,就会发生一些意外的情况 $a = 10;
function test()
{
global $a;
echo $a; // 10
unset($a);
}
test(); // 10
echo $a; // 10 // $GLOBALS[] 确实是调用外部的变量,函数内外始终保持一致
// $GLOBALS:由所有定义全局变量组成的数组,变量名就是该数组的索引
$a = 100;
function test()
{
$GLOBALS['a'] = 9; // 该数组$GLOBALS下标名就是 全局变量名
}
test();
echo $a; // 9 $arr['lin'] = 100;
echo $GLOBALS['arr']['lin']; // 100