码迷,mamicode.com
首页 > 其他好文 > 详细

global vs $GLOBALS

时间:2019-07-27 11:19:15      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:为什么   global   调用   test   unset   一个   cti   als   oba   

function test() {
global $a;
unset($a);
}
$a = 1;
test();
echo $a; //1
明明是unset了呀,为什么还会打印出来呢?
因为在函数里面的变量只是私有的,unset的确是起到了作用,但它也仅仅是unset了一个global 的值;因为在函数内部,global申明一个变量只是产生了一个指向函数外部变量的别名变量(仅仅只是映射)而已,而不是真正的函数外部变量;$GLOBALS[]才调用是外部的变量,函数内外才会始终保持一致!

global vs $GLOBALS

标签:为什么   global   调用   test   unset   一个   cti   als   oba   

原文地址:https://www.cnblogs.com/tongchen/p/11254258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!