1. PHP 超级全局变量的概述
PHP 超级全局变量是一类在整个脚本的全部作用域中都可用的变量。它们不需要使用 global
关键字来访问,而是可以直接在函数、方法、类或文件的任何地方使用。在 PHP 中,有几个内置的超级全局变量,包括:
$GLOBALS
$_SERVER
$_GET
$_POST
$_REQUEST
$_SESSION
$_COOKIE
$_FILES
$_ENV
1.1 $GLOBALS
$GLOBALS
是一个包含了全局变量的全局组合数组。它可以在函数内部访问全局变量,而不需要使用 global
关键字。例如:
$x = 5;
function test() {
$y = 10;
echo $GLOBALS['x'] + $y;
}
test(); // 输出 15
1.2 $_SERVER
$_SERVER
是一个包含了诸如头信息、路径信息、脚本位置等的数组。它提供了很多有用的信息,可以用于创建动态的 web 页面。例如,可以使用 $_SERVER['PHP_SELF']
来获取正在执行的脚本的文件名:
$filename = $_SERVER['PHP_SELF'];
echo $filename; // 输出当前脚本的文件名
1.3 $_GET
$_GET
是用于收集通过 URL 传递的表单数据的变量。它将 GET 请求中的参数存储为关联数组,并且可以很方便地在脚本中访问这些参数。例如,以下代码获取 URL 中的 id
参数的值:
$id = $_GET['id'];
echo $id; // 输出 URL 中的 id 参数值
1.4 $_POST
$_POST
是用于收集通过 HTTP POST 方法传递的表单数据的变量。它将 POST 请求中的参数存储为关联数组,并且可以很方便地在脚本中访问这些参数。例如,以下代码获取提交的表单中的 username
和 password
字段的值:
$username = $_POST['username'];
$password = $_POST['password'];
1.5 $_REQUEST
$_REQUEST
包含了 $_GET
、$_POST
和 $_COOKIE
的内容,可用于收集表单数据。
1.6 $_SESSION
$_SESSION
可用于在脚本间存储用户信息,允许在不同页面之间共享数据。需要注意的是,在使用 $_SESSION
前,需要先调用 session_start()
函数启动会话。
1.7 $_COOKIE
$_COOKIE
存储了通过 HTTP cookies 传递的变量。