PHP的global和$GLOBALS的区别

Posted 宸宇PHP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP的global和$GLOBALS的区别相关的知识,希望对你有一定的参考价值。

global是关键字,通常添加在变量前,可以使变量的作用域为全局。

$GLOBALS预定义的超全局变量,把变量扔到里面一样可以变成全局变量。
$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。

global $var : 指函数外部同名变量的引用

$GLOBALS[‘var‘] : 指函数外部变量本身

$a = 100;
function one(){
    global $a;
    unset($a);
}
one();
echo $a;
// 输出 100
/*******************************/
$a = 100;
function two(){
    unset($GLOBALS[‘a‘]);
}
two();
echo $a;
// 输出 Notice: Undefined variable: a

global $var; 等价于 $var = &$GLOBALS[‘var‘];

在函数内释放一个全局变量,应该这样:

unset($GLOBALS[‘var‘]);

而不能这样:

global $var; unset($var);

以上是关于PHP的global和$GLOBALS的区别的主要内容,如果未能解决你的问题,请参考以下文章

PHP中的全局变量global和$GLOBALS的区别

全局变量:global与$GLOBALS的区别和使用

全局变量:global与$GLOBALS的区别和使用

php中获取数据 php://input$_POST与$GLOBALS['HTTP_RAW_POST_DATA']三者的区别

PHP中 global 和 $_GLOBAL 全局变量的区别

globals和locals的区别