PHP 超全局变量之$GLOBALS

in 系统环境
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

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


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

注释:
“Superglobal”也称为自动化的全局变量。这就表示其在脚本的所有作用域中都是可用的,不需要在函数或方法中用global $variable;来访问它。与所有其他超全局变量不同,`$GLOBALS`在PHP中总是可用的。

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

$GLOBALSglobal 的区别:

·$GLOBALS['variable'] 是外部的全局变量$variable本身。
·global $variable 是外部$variable的同名引用或者指针。也就是在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量。

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

<?php
    $a = 1;
    function Test1(){
        echo $a; // 输出: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;//输出:Undefined variable: a
    
?>

$GLOBALSglobal 的相同点:

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

上面的例子也可说明;

2.在函数体外声明没有意义,在函数内无法使用,下面用简单例子说明:
<?php
global $a;
$a = 1;
function Test3(){
    echo $a; //输出:Undefined variable: a
}
Test3();

$GLOBALS['b'] = 2;
function Test4(){
    echo $b; //输出:Undefined variable: b
}
Test4();
?>
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看