温馨提示×

php的超全局变量在哪里定义

PHP
小樊
81
2024-10-13 11:37:29
栏目: 编程语言

在PHP中,超全局变量是在每个函数或方法之外定义的。这些变量在整个脚本范围内都是可用的,可以在任何地方访问。以下是一些常见的PHP超全局变量:

  1. $GLOBALS:这是一个关联数组,包含了全局作用域中所有的变量。你可以使用它来访问其他函数或方法中定义的变量。
$variable = "Hello, World!";
$GLOBALS['variable'] = $variable;
echo $GLOBALS['variable']; // 输出 "Hello, World!"
  1. $_SERVER:这是一个预定义的全局数组,包含了有关头、路径和脚本位置等服务器信息。
echo $_SERVER['HTTP_HOST']; // 输出当前请求的主机名
  1. $_GET:这是一个预定义的全局数组,包含了通过GET方法传递的变量。
$variable = "Hello, World!";
$_GET['variable'] = $variable;
echo $_GET['variable']; // 输出 "Hello, World!"
  1. $_POST:这是一个预定义的全局数组,包含了通过POST方法传递的变量。
$variable = "Hello, World!";
$_POST['variable'] = $variable;
echo $_POST['variable']; // 输出 "Hello, World!"
  1. $_COOKIE:这是一个预定义的全局数组,包含了通过Cookie传递的变量。
$variable = "Hello, World!";
$_COOKIE['variable'] = $variable;
echo $_COOKIE['variable']; // 输出 "Hello, World!"
  1. $_SESSION:这是一个预定义的全局数组,包含了通过Session传递的变量。
$variable = "Hello, World!";
$_SESSION['variable'] = $variable;
echo $_SESSION['variable']; // 输出 "Hello, World!"
  1. $_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会自动将这些变量视为全局变量。

0