根据我所能查到的资料,只说superglobal和global的区别就在于global在函数中需要声明一下,其他的没有区别。但是:例1:<?php$a = 1;
$b["a"] = &$a;
unset($b["a"]);
echo $a;?>得到以下输出
1例2:<?php$a = 1;
$BLOBALS["a"] = &$a;
unset($BLOBALS["a"]);
echo $a;?>得到以下输出
Notice: Undefined variable:aWHY? 明明都是引用,而unset也只是销毁引用,为什么例2会报错,谁能确切的解释一下。我查遍了也没找到有用的资料。
=================================================按你说的我的例2和例1操作基本相同,同样是删掉一个下标为"a"的数组的元素,为什么例2会报错???
$GLOBALS["a"] = &$a;
unset($a);
echo $GLOBALS["a"];
$a = 1;
$b = &$a;
$b = 2;
echo $a;//输出结果:2