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;