引用PHP手册的$GLOBALS的解释:
Global 变量:$GLOBALS
注意: $GLOBALS 在 PHP 3.0.0 及以后版本中适用。
由所有已定义全局变量组成的数组。变量名就是该数组的索引。
这是一个“superglobal”,或者可以描述为自动全局变量。
也就是说上面代码中的$var1和$GLOBALS['var1']是指的同一变量,而不是2个不同的变量!
全局变量举例
代码如下 | 复制代码 |
<?php $pangbu = "pangbu"; function demo (){ global $pangbu; echo $pangbu; } demo(); ?> |
解释
其实global $pangbu ;是$pangbu = &$_GLOBAL['pangbu ']的简写,
意思是$pangbu 是$_GLOBAL['pangbu ']的一个引用,至于引用怎么用,$pangbu 就怎么用了。
自己的一些笔记
之前一直没有搞明白 global 的用法 ,虽然会用但却一直在朦朦胧胧中糊里糊涂的,现在终于搞明白了。
.
为了了解更多Global的应用,请看下面php案例:
代码如下 | 复制代码 |
<?php $url = "www.111cn.net"; function get_url(){ echo "The blog is".$url; //这里获取不到$url,因为它只是一个未定义的局部变量 } get_url(); ?> |
上面的例子会报notice错误!
代码如下 | 复制代码 |
<?php $url = "www.111cn.net"; function get_url(){ global $url; echo "The blog url is ".$url; } get_url(); ?> |
上面这样用法就是对的,在函数中声明全局变量后,任何变量的所有引用变量都会指向到全局变量!
另外有必要说一下,全局数组$GLOBALS[],用上面的例子改写下就是这样:
代码如下 | 复制代码 |
<?php $url = "www.111cn.net"; function get_url(){ echo "The blog url is ".$GLOBALS['url']; } get_url(); ?> |
注意global声明变量不能复制,如 global $url = "www.111cn.net"; 这样是错误的
时间: 2024-10-26 06:02:54