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;

亲自试一试