$GLOBALS 是php中的一个全局变量的数组。
$GLOBALS['var1'] 代表的是 外部的全局变量 $var1 本身。global $var是外部$var的同名引用或者指针
例1:
<?php
$var1 = 1;
function test(){
unset($GLOBALS['var1']);
}
test();
echo $var1;
?>
结果是:
说明变量 $var1 已经删除了。
例2:
<?php
$var1 = 1;
function test(){
global $var1;
unset($var1);
}
test();
echo $var1;
例3:
<?php
$var1 = 1;
function test(){
global $var1;
$var1 = 23;
unset($var1);
// echo $var1;
}
test();
echo $var1;
?>
上面的例子说明了 函数里面通过 global $var1;申明的变量 $var1 其实是外部的全局变量$var1 的引用(或者说是外部的全局变量$var1的指针),
删除函数里面的变量 $var1, 只是把这个指针删除了,并不影响外面的全局变量的值。当然,在函数里面对 变量$var1的赋值还是会对外面的全局变量 $var1生效。