PHP中全局变量global和$GLOBALS[]的区别分析

 更新时间:2012年08月06日 21:17:55   作者:  
$GLOBALS['var']是外部的全局变量本身,global $var是外部$var的同名引用或者指针
一、举例比较
例一:
复制代码 代码如下:

<?php
$var1 = 1;
function test(){
unset($GLOBALS['var1']);
}
test();
echo $var1;
?>

因为$var1被删除了,所以什么东西都没有打印。
例二:
复制代码 代码如下:

<?php
$var1 = 1;
function test(){
global $var1;
unset($var1);
}
test();
echo $var1;
?>

意外的打印了1。证明删除的只是别名引用,其本身的值没有受到任何的改变。

二、解释
global $var其实就是&$GLOBALS['var'],调用外部变量的一个别名而已。
上面代码中的$var1和$GLOBALS['var1']是指的同一变量,而不是两个不同的变量。
PHP的全局变量和C语言有一点点不同。在C语言中,全局变量在函数中主动生效,除非被局部变量笼罩。这可能引起一些问题,有些人可能漫不经心的转变一个全局变量。PHP中全局变量在函数中应用时必须用global申明为全局。
PHP的Global变量的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。

三、结论
1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针。

相关文章

  • PHP5 面向对象(学习记录)

    PHP5 面向对象(学习记录)

    PHP5已经支持面向对象,这样可以提高代码效率,与代码的复用性。
    2009-12-12
  • php输出表格的实现代码(修正版)

    php输出表格的实现代码(修正版)

    在php开发过程中,对于大量的数据考虑用表格输出的时候可以用得到,但部分朋友可能不是很清楚原理所以这里为大家准备了代码。希望对学习php的朋友有所帮助。
    2010-12-12
  • php版微信js-sdk支付接口类用法示例

    php版微信js-sdk支付接口类用法示例

    这篇文章主要介绍了php版微信js-sdk支付接口类用法,结合实例形式分析了php版微信js-sdk支付接口类的定义与相关使用技巧,需要的朋友可以参考下
    2016-10-10
  • php substr()去掉最后一位字符的实例方法

    php substr()去掉最后一位字符的实例方法

    在本篇文章里小编给大家整理了一篇关于php substr()去掉最后一位字符的实例方法,有兴趣的朋友们可以跟着学习下。
    2021-12-12
  • php Imagick获取图片RGB颜色值

    php Imagick获取图片RGB颜色值

    根据用户上传的图片检索出图片的主要颜色值,再根据颜色搜索相关的图片,使用Imagick的quantizeImage方法能够很方便的取到图片中平均的RGB值
    2014-07-07
  • php防注入及开发安全详细解析

    php防注入及开发安全详细解析

    以下是对php防注入及开发安全进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • php 在文件指定行插入数据的代码

    php 在文件指定行插入数据的代码

    对于php文件操作那么关于在指定的位置插入数据就比较复杂了,下面我们就来看看关系在文件指定行插入数据实例吧。
    2010-05-05
  • MyEclipse常用配置图文教程

    MyEclipse常用配置图文教程

    本文主要是记录一些有用的设置技巧,并且是图文并茂,像创建项目,创建类,设置工作空间等在这里就不做介绍了,而且之前的文章也有涉猎。
    2014-09-09
  • PHP多线程编程之管道通信实例分析

    PHP多线程编程之管道通信实例分析

    这篇文章主要介绍了PHP多线程编程之管道通信,实例分析了管道通信的原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 通过Email发送PHP错误的方法

    通过Email发送PHP错误的方法

    这篇文章主要介绍了通过Email发送PHP错误的方法,实例分析了php错误的读取及通过php发送Email的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论