首页 > php开发 > PHP 全局变量之Global关键字引用解读

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

转载随意!带上文章地址吧。

标签:global 全局变量 关键字引用

相关文章

发表留言