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的主要内容,如果未能解决你的问题,请参考以下文章

vs2008 c#.net如何配置global.asax

理解 Spark 解释:Collect vs Global vs Local Limit

Webpack 和外部库:ProvidePlugin vs entry vs global import?

全局 vs 脚本变量

Global.asax错误

Javascript 范围——var vs global