global与$GLOBALS的区别
来源:互联网 发布:源码资本地址 编辑:程序博客网 时间:2024/05/22 03:14
<?phpfunction f1() {global $v1,$v2;$v2 = &$v1;echo 'f1函数里:'."<br/>v1:".$v1."<br/>v2:".$v2;}function f2() {$GLOBALS["v3"] = &$GLOBALS["v1"];$v1 = $GLOBALS["v1"];$v3 = $GLOBALS["v3"];echo 'f2函数里:'."<br/>v1:".$v1."<br/>v3:".$v3;}$v1 = 5;$v2 = $v3 = 0;f1();echo "<br/><br/>f1函数之后:<br/>";echo "v1: ".$v1."<br/>";echo "v2: ".$v2."<br/>";echo "<br/>";f2();echo "<br/><br/>f2函数之后:<br/>";echo "v1: ".$v1."<br/>";echo "v3: ".$v3."<br/>";
输出:
f1函数里:
v1:5
v2:5
f1函数之后:
v1: 5
v2: 0
f2函数里:
v1:5
v3:5
f2函数之后:
v1: 5
v3: 5
php中的函数所产生的变量都是函数的私有变量,那么global关键字产生的变量也肯定逃不出这个规则
例如:
<?phpfunction test() {global $a;unset($a);}$a = 1;test();echo $a;
输出:
1
为什么会输出1呢?不是已经把$a给unset了吗?unset失灵了?php的bug?
都不是,其实unset起作用了,是把test函数中的$a给unset掉了,可以在函数后面加入
- global与$GLOBALS的区别
- php中global 与 $GLOBALS[""] 的区别
- php之global与$GLOBALS的区别
- PHP中global与$GLOBALS['']的区别
- PHP中global与$GLOBALS['']的区别
- global与$GLOBALS['']的区别及用法
- PHP中$GLOBALS与global的区别
- PHP中global与$GLOBALS['']的区别
- global和$GLOBALS[]的区别
- [PHP]全局变量:global与$GLOBALS的区别和使用
- php中global与$GLOBALS的用法及区别
- [PHP]全局变量:global与$GLOBALS的区别和使用
- php中的全局变量$GLOBALS与global的区别
- PHP中global与$GLOBALS['']区别
- PHP中global与$GLOBALS['']区别
- PHP中global与$GLOBALS['']区别
- PHP中global与$GLOBALS['']区别
- $GLOBALS与global区别 & 变量销毁机制
- linux常用c函数 字符串转换篇
- 对NoSQL,对象数据库和关系数据库的一点看法
- Java虚拟机 JVM的介绍
- 百度知道与seo
- JAVA中执行DOS命令分析
- global与$GLOBALS的区别
- iPhone 开源框架 汇总
- hadoop 调用 user home的使用
- 详细介绍Java语言中的IO系统(1)
- gdb使用及原理【转】
- SOA [ axis2 创建 Web Service ]
- 浅谈Struts2与Webwork的不同和相同点
- avid glossary
- 探秘JDK7新特性之NIO2.0文件系统