📜  变量 superglobale php (1)

📅  最后修改于: 2023-12-03 15:22:55.732000             🧑  作者: Mango

PHP中的超级全局变量

PHP中的超级全局变量是一类被预定义的全局变量,可以从脚本的任何地方访问,对于 PHP 程序员来说非常重要。这些超级全局变量带有PHP的许多内置函数和扩展中的有用信息。

以下是PHP中的几个超级全局变量:

$GLOBALS

$GLOBALS 是一个包含全局变量的全局组合,引用脚本中可用的所有变量,包括自定义的变量和内置的超全局变量。因此,可以通过 $GLOBALS 数组来访问在一个函数中创建的变量。

function test () {
  $x = 5;
  // 可以通过 $GLOBALS['x'] 从函数外部访问 $x 变量
  $GLOBALS['x'] = $x + 10;
}

test();
echo $x // 输出 15
$_SERVER

$_SERVER 是一个存储有关 web 服务器的信息的超全局变量。此变量中存储的信息的格式易于解读并且可以在不同的操作系统(ex: Windows, Linux)之间保持一致。

以下是可能包含 $_SERVER 中的一些信息的索引:

  • $_SERVER['PHP_SELF'] - 当前执行脚本的文件名
  • $_SERVER['SERVER_NAME'] - 当前运行脚本的服务器的主机名
  • $_SERVER['HTTP_REFERER'] - 用户从哪个页面链接访问当前页面
  • $_SERVER['REQUEST_METHOD'] - 访问页面的请求方式 (ex: GET, POST)
$_GET

$_GET 是一种用于收集通过 URL 提交的信息的超全局变量。所有 $_GET 变量可从 URL 中获取,通过 ?var=value 的形式传递到脚本中。

// index.php?name=John&age=30
$name = $_GET['name'];
$age = $_GET['age'];
echo "Hello $name! You are $age years old.";
$_POST

$_POST 是一种将 HTML 表单数据与 PHP 中的变量关联的超全局变量。表单数据被POST到服务器,然后在 $_POST 中组织。

<form action="welcome.php" method="post">
  Name: <input type="text" name="name"><br>
  Age: <input type="text" name="age"><br>
  <input type="submit" value="Submit">
</form> 
// welcome.php
$name = $_POST['name'];
$age = $_POST['age'];
echo "Hello $name! You are $age years old.";

更多的超全局变量可以在php.net上查看。

总结:超级全局变量提供了在 PHP 中方便的数据或信息访问方式,因此在 PHP 编程中无法绕过。