在 PHP 中,超全局变量是那些可以在所有函数和类中直接访问的变量。主要的超全局变量有:$GLOBALS
、$_SERVER
、$_GET
、$_POST
、$_COOKIE
和 $_SESSION
。这些变量无需初始化即可使用,因为它们会在请求开始时自动创建。
例如,要访问 $_GET
超全局变量,你只需在函数或类中使用它,如下所示:
function get_name_from_get() {
$name = $_GET['name'];
echo "Hello, " . $name;
}
在这个例子中,$_GET['name']
是在 HTTP GET 请求的查询参数中获取的。当用户访问类似 example.com/test.php?name=John
的 URL 时,get_name_from_get()
函数将输出 “Hello, John”。
需要注意的是,虽然这些超全局变量无需初始化即可使用,但在某些情况下,对它们进行初始化或检查是否为空是一种良好的编程实践。例如,在使用 $_SESSION
时,你可能希望先检查会话是否已启动:
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
if (!isset($_SESSION['user'])) {
$_SESSION['user'] = 'John';
}
在这个例子中,我们首先检查会话是否已启动,如果没有,则使用 session_start()
函数启动它。接下来,我们检查 $_SESSION['user']
是否已设置,如果没有,则将其设置为 “John”。