PHP中区分$GLOBALS与global关键字有何详细差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1179个文字,预计阅读时间需要5分钟。
PHP中$GLOBALS和global都可以实现全局变量的功能,很多人认为global和$GLOBALS只是写法上的区别,实际上并非如此。
$GLOBALS是一个超级全局变量,实际上是一个数组,包含了所有全局变量。而global是一个关键字,用于在函数内部声明全局变量。
具体来说,$GLOBALS是一个数组,包含了所有全局变量,而global关键字用于在函数内部声明全局变量,使其在函数内部也能被访问和修改。
PHP中$GLOBALS和global都可以实现全局变量的功能,所以很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。$GLOBALS 是一个超级全局变量,其实是一个数组,而global 则是一个声明全局变量的关键字!
一、超全局变量$GLOBALS
PHP超全局变量有很多,如下的都属于超全局变量(Superglobal):
$GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$_COOKIE,$_SESSION,$_REQUEST,$_ENV。
官方说明:
$GLOBALS — 引用全局作用域中可用的全部变量。
一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
即出现过的全局变量,就可以通过$GLOBALS这个数组取得。
- $GLOBALS['var'] 是外部的全局变量$var本身。
- global $var 是外部$var的同名引用或者指针。
本文共计1179个文字,预计阅读时间需要5分钟。
PHP中$GLOBALS和global都可以实现全局变量的功能,很多人认为global和$GLOBALS只是写法上的区别,实际上并非如此。
$GLOBALS是一个超级全局变量,实际上是一个数组,包含了所有全局变量。而global是一个关键字,用于在函数内部声明全局变量。
具体来说,$GLOBALS是一个数组,包含了所有全局变量,而global关键字用于在函数内部声明全局变量,使其在函数内部也能被访问和修改。
PHP中$GLOBALS和global都可以实现全局变量的功能,所以很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。$GLOBALS 是一个超级全局变量,其实是一个数组,而global 则是一个声明全局变量的关键字!
一、超全局变量$GLOBALS
PHP超全局变量有很多,如下的都属于超全局变量(Superglobal):
$GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$_COOKIE,$_SESSION,$_REQUEST,$_ENV。
官方说明:
$GLOBALS — 引用全局作用域中可用的全部变量。
一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
即出现过的全局变量,就可以通过$GLOBALS这个数组取得。
- $GLOBALS['var'] 是外部的全局变量$var本身。
- global $var 是外部$var的同名引用或者指针。

