$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。
php语法中,很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然
根据官方的解释是
1. $GLOBALS['var']是外部的全局变量本身
2. global $var是外部$var的同名引用或者指针。
举例说明一下:
<?php $var1 = 1; $var2 = 2; function test(){ $GLOBALS['var2′] = &$GLOBALS['var1′]; } test(); echo $var2; ?>
正常打印结果为1
<?php $var1 = 1; $var2 = 2; function test(){ global $var1,$var2; $var2 = &$var1; } test(); echo $var2; ?>
意外打印结果为2
为什么会打印结果为2呢?其实就是因为$var1的引用指向了$var2的引用地址。导致实质的值没有改变。
我们再来看一个例子吧。
<?php $var1 = 1; function test(){ unset($GLOBALS['var1']); } test(); echo $var1; ?>
相关推荐
全局变量中$GLOBALS['']和global的区别
PHP中$GLOBALS和global都可以实现全局变量的功能,所以很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。$GLOBALS 是一个超级全局变量,其实是一个数组,而global 则是一个声明全局变量的关键字! 一、...
本文实例讲述了PHP超级全局变量用法。分享给大家供大家参考,具体如下: $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION 咱们这次就来聊聊$GLOBALS&$_SERVER&$_REQUEST这三个...
一、举例比较 例一: 复制代码 代码如下: <?php $var1 = 1; function test(){ unset($GLOBALS[‘var1’]); } test(); echo $var1; ?> 因为$var1被删除了,所以什么东西... 二、解释 global $var其实就是&$GLOBALS
主要介绍了PHP global全局变量经典应用与注意事项,结合实例形式分析了php中global全局变量的功能、使用方法及相关操作注意事项,并附带了$GLOBALS用法作为对比,需要的朋友可以参考下
超全局变量在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。 PHP 超全局变量 PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $...
使用global在方法里面声明外部变量为全局变量,即可以调用该变量。 示例1. global基本用法 <?php $a=1; $b=2; test_global(); function test_global() { global $a,$b; echo $a+$b; //输出3 } 示例2. global...
本文分析了PHP全局变量与超级全局变量区别。分享给大家供大家参考,具体如下: 全局变量就是在函数外面定义的变量。不能在函数中直接使用。因为它的作用域不会到函数内部。所以在函数内部使用的时候常常看到类似...
本文实例讲述了php多次include后导致全局变量global失效的解决方法。分享给大家供大家参考。...一个有效的方法是,如果你决定将一个变量当作多个文件的全局变量,那么使用$GLOBALS数组总是有效的。比如上
本文分析了PHP中$GLOBALS[‘HTTP_RAW_POST_DATA’]和$_POST的区别。分享给大家供大家参考,具体如下: $_POST:通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。 $GLOBALS['HTTP_RAW_POST_DATA'] :总是...
总体来说,变量根据定义的位置分为局部变量和全局变量。 一、局部变量 局部变量是在函数内部定义的变量,其作用域仅限于函数内部,离开该函数后再使用此变量是非法的。另外,函数定义中的普通形参由于只能在本函数...
认识并使用PHP超级全局变量 超级全局变量也叫做预定义变量,是PHP系统中自带的变量,它可让你的程序设计更加的方便快捷。它的类型包括: $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键...
超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。 PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。...
} function test_globals() { $GLOBALS[‘var3’] =& $GLOBALS[‘var1’]; } $var1 = 5; $var2 = $var3 = 0; test_global(); print $var2 .”\n”; test_globals(); print $var3 .”\n”; ?> 执行结果为: 0 5 ...
1:Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。 复制代码 代码如下: <?PHP $a=123; function aa() { Global $a; //如果不把$a定义为...
本文总结了PHP 预定义变量、魔术常量和魔术方法。分享给大家供大家参考,具体如下: PHP 预定义了一些变量、常量、方法,使用起来很方便,例如直接使用 __DIR__ 获取当前文件所在的目录。 下面分别详细介绍一下 PHP...