PHP中的超全局变量(superglobals)有哪些

在 PHP 中,超全局变量(superglobals)是一类特殊的预定义变量,它们在脚本的任何作用域中都可用,并且不受 global 关键字的影响。这些变量包含了关于服务器、客户端以及当前脚本本身的信息。以下是 PHP 中常见的超全局变量及其作用:

  1. $_SERVER

    • 包含了服务器和执行环境的信息,如请求的方法、URL、服务器信息等。
  2. $_GET

    • 包含通过 URL 参数传递到当前脚本的数据,通常用于获取查询字符串中的变量值。
  3. $_POST

    • 包含通过 HTTP POST 方法传递到当前脚本的数据,通常用于处理表单提交的数据。
  4. $_FILES

    • 包含通过 HTTP POST 方法上传的文件信息,每个上传文件都有一组相应的属性。
  5. $_COOKIE

    • 包含客户端发送到服务器的 Cookie 数据,可以用于读取和设置 Cookie 值。
  6. $_SESSION

    • 包含当前会话中所有注册的会话变量,用于在不同页面间存储和访问用户数据。
  7. $_REQUEST

    • 包含了 $_GET$_POST$_COOKIE 数据的合并结果,不建议使用因为安全性和可读性问题。
  8. $_ENV

    • 包含了当前环境中的所有环境变量,如通过 SetEnv 指令设置的变量。
  9. $GLOBALS

    • 包含了当前脚本中的所有全局变量的引用,用于在函数或方法中访问全局变量。

这些超全局变量使得在 PHP 中处理输入数据、管理会话状态以及访问服务器环境变量变得非常方便。它们是 PHP 开发中非常常用和重要的工具,能够极大地简化数据获取和处理的过程。