PHP $GLOBALS
$GLOBALS 是一个包含所有全局变量的数组。
全局变量
全局变量是可以从任何作用域访问的变量。
最外层作用域的变量会自动成为全局变量,并且可以被任何作用域使用,例如在一个函数内部。
要在函数内部使用全局变量,你必须使用 global 关键字将它们定义为全局的,或者使用 $GLOBALS 语法来引用它们。
实例
在函数内部引用全局变量 $x:
$x = 75;
function myfunction() {
echo $GLOBALS['x'];
}
myfunction()
这与其他编程语言不同,其中全局变量在无需特别将它们标记为全局的情况下是可用的。
实例
在 PHP 中,如果你不使用 $GLOBALS 语法引用全局变量,你将得不到任何内容(或得到一个错误):
$x = 75;
function myfunction() {
echo $x;
}
myfunction()
你也可以通过在函数内部使用 global 关键字将变量定义为全局的来引用全局变量。
实例
在函数内部将 $x 定义为全局的:
$x = 75;
function myfunction() {
global $x;
echo $x;
}
myfunction()
创建全局变量
无论是否使用 $GLOBALS 语法创建,最外层作用域中创建的变量都是全局变量:
实例
$x = 100; echo $GLOBALS["x"]; echo $x;
在函数内部创建的变量仅属于该函数,但你可以使用 $GLOBALS 语法在函数内部创建全局变量:
实例
从函数内部创建一个全局变量,并在函数外部使用它:
function myfunction() {
$GLOBALS["x"] = 100;
}
myfunction();
echo $GLOBALS["x"];
echo $x;