在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'] . "<br>";
echo "File tmp name: " . $file['tmp_name'] . "<br>";
}
请注意,虽然这些变量可以在任何地方访问,但在函数或方法内部使用它们时,不需要使用global
关键字。PHP会自动将这些变量视为全局变量。