php 中的全局变量的理解
$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生效。