当前位置:首页 > Web开发 > 正文

与所有其他超全局变量不同

2024-03-31 Web开发

$GLOBALS——引用全局感化域中可用的全部变量。

$GLOBALS一个包罗了全部变量的全局组合数组。变量的名字就是数组的键。(即所有呈现过的全局变量,都可通过$GLOBALS获取到)

注释: “Superglobal”也称为自动化的全局变量。这就暗示其在脚本的所有感化域中都是可用的,,不需要在函数或要领顶用global $variable;来访谒它。
与所有其他超全局变量差别,$GLOBALS在PHP中总是可用的。

在PHP中,界说在函数体外的全局变量,函数内部是不能直接获取的,所以需要global声明或者$GLOBALS[]来获取。

$GLOBALS 和 global 的区别:

$GLOBALS[‘variable‘] 是外部的全局变量$variable自己。

global  $variable 是外部$variable的同名引用或者指针。也就是在函数孕育产生一个指向函数外部变量的别号变量,而不是真正的函数外部变量。 

下面一个简单的例子说明:

$a = 1; $b = 2; function Test1(){ echo $a; //输出 :Notice: Undefined variable: a global $a; echo $a; //输出: 1 unset($a); } Test1(); echo $a; // 输出:1 function Test2(){ echo $GLOBALS[‘a‘]; //输出: 1 unset($GLOBALS[‘a‘]); } Test2(); echo $a;//输出:Notice: Undefined variable: a

$GLOBALS 和 global 的不异点:

可以在函数内部使用函数外声明的变量;

在函数体外声明全局变量没有意义,在函数内部也无法使用。

例子:

global $a; $a = 1; function Test3(){ echo $a; //输出:Notice: Undefined variable: a } Test3(); $GLOBALS[‘b‘] = 2; function Test4(){ echo $b; //输出:Notice: Undefined variable: b } Test4();

PHP 超全局变量之$GLOBALS

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33202.html