global vs $GLOBALS
Posted tongchen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了global vs $GLOBALS相关的知识,希望对你有一定的参考价值。
function test()
global $a;
unset($a);
$a = 1;
test();
echo $a; //1
明明是unset了呀,为什么还会打印出来呢?
因为在函数里面的变量只是私有的,unset的确是起到了作用,但它也仅仅是unset了一个global 的值;因为在函数内部,global申明一个变量只是产生了一个指向函数外部变量的别名变量(仅仅只是映射)而已,而不是真正的函数外部变量;$GLOBALS[]才调用是外部的变量,函数内外才会始终保持一致!
以上是关于global vs $GLOBALS的主要内容,如果未能解决你的问题,请参考以下文章
理解 Spark 解释:Collect vs Global vs Local Limit