在PHP中,超全局变量是在每个函数或方法之外定义的。这些变量在整个脚本范围内都是可用的,可以在任何地方访问。以下是一些常见的PHP超全局变量:
$GLOBALS
:这是一个关联数组,包含了全局作用域中所有的变量。你可以使用它来访问其他函数或方法中定义的变量。
$variable = "Hello, World!"; $GLOBALS['variable'] = $variable; echo $GLOBALS['variable']; // 输出 "Hello, World!"
$_SERVER
:这是一个预定义的全局数组,包含了有关头、路径和脚本位置等服务器信息。
echo $_SERVER['HTTP_HOST']; // 输出当前请求的主机名
$_GET
:这是一个预定义的全局数组,包含了通过GET方法传递的变量。
$variable = "Hello, World!"; $_GET['variable'] = $variable; echo $_GET['variable']; // 输出 "Hello, World!"
$_POST
:这是一个预定义的全局数组,包含了通过POST方法传递的变量。
$variable = "Hello, World!"; $_POST['variable'] = $variable; echo $_POST['variable']; // 输出 "Hello, World!"
$_COOKIE
:这是一个预定义的全局数组,包含了通过Cookie传递的变量。
$variable = "Hello, World!"; $_COOKIE['variable'] = $variable; echo $_COOKIE['variable']; // 输出 "Hello, World!"
$_SESSION
:这是一个预定义的全局数组,包含了通过Session传递的变量。
$variable = "Hello, World!"; $_SESSION['variable'] = $variable; echo $_SESSION['variable']; // 输出 "Hello, World!"
$_FILES
:这是一个预定义的全局数组,包含了通过文件上传传递的变量。
// 假设有一个HTML表单,允许用户上传一个文件 if ($_SERVER['REQUEST_METHOD'] == 'POST') { $file = $_FILES['uploaded_file']; echo "File name: " . $file['name'] . "
"; echo "File tmp name: " . $file['tmp_name'] . "
"; }
请注意,虽然这些变量可以在任何地方访问,但在函数或方法内部使用它们时,不需要使用global
关键字。PHP会自动将这些变量视为全局变量。