PHP 全局变量之Global关键字引用解读
本文章来给大家简单的介绍一下关于PHP 全局变量 Global关键字引用介绍,虽说评论跟文章相比,及其的简短,但原理却阐述的很明白,而且浅显易懂,尤其是对于有一些语言基础的人来说,是值得总结的.不卖关子,开始正题:
引用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.phprm.com"; function get_url() { echo "The blog is" . $url; //这里获取不到$url,因为它只是一个未定义的局部变量 } get_url(); ?>
上面的例子会报notice错误!实例代码如下:
<?php $url = "www.phprm.com"; function get_url() { global $url; echo "The blog url is " . $url; } get_url(); ?>
上面这样用法就是对的,在函数中声明全局变量后,任何变量的所有引用变量都会指向到全局变量!另外有必要说一下,全局数组$GLOBALS[],用上面的例子改写下就是这样:
实例代码如下:
<?php $url = "www.phprm.com"; function get_url() { echo "The blog url is " . $GLOBALS['url']; } get_url(); ?>
注意global声明变量不能复制,如 global $url = "www.phprm.com";这样是错误的
永久链接:http://www.phprm.com/develop/fs1802.html
转载随意!带上文章地址吧。