c语言编程笔录

首页 >   > 笔记大全

笔记大全

php中的超全局变量怎么用

更新时间:2023-08-04
超全局变量是 PHP 中预定义的一组特殊变量,可以在任何作用域中访问。通过使用这些变量,我们可以获取全局范围内的信息或者在不同的函数和文件之间传递数据。超全局变量是自动全局化的,这意味着不需要使用 global 关键字即可在函数内部访问它们。接下来,我将介绍 PHP 中常用的几个超全局变量以及它们的用法。

1. $_GET

$_GET 是一个包含通过 HTTP GET 方法传递给当前脚本的所有变量和它们的值的数组。这些变量由 URL 中的查询字符串提供,以键值对的形式表示。

    // index.php?name=John&age=25
    echo $_GET['name']; // 输出 John
    echo $_GET['age']; // 输出 25

你可以通过使用 $_GET['key'] 的方式来访问 $_GET 数组中的值。值得注意的是,由于 $_GET 是一个关联数组,你可以使用循环语句遍历数组中的所有键及其对应的值。

2. $_POST

$_POST 是一个包含通过 HTTP POST 方法传递给当前脚本的所有变量和它们的值的数组。这些变量通常来自于 HTML 表单中的输入字段。

    <form action="process.php" method="post">
        <input type="text" name="username">
        <input type="password" name="password">
        <input type="submit" value="登录">
    </form>
    
    // process.php
    echo $_POST['username']; // 输出表单中输入的用户名
    echo $_POST['password']; // 输出表单中输入的密码

通过使用 $_POST['key'],你可以访问表单中提交的数据。与 $_GET 类似,$_POST 也是一个关联数组,你可以使用循环语句遍历其所有键及其对应的值。

3. $_SESSION

$_SESSION 是用于存储和访问因特网会话数据的数组。通过使用 $_SESSION,你可以在页面之间传递数据,并在用户访问相同站点的不同页面时保持数据的持久性。

    // page1.php
    session_start();
    $_SESSION['username'] = 'John';
    $_SESSION['age'] = 25;
    
    // page2.php
    session_start();
    echo $_SESSION['username']; // 输出 'John'
    echo $_SESSION['age']; // 输出 25

在使用 $_SESSION 之前必须调用 session_start() 函数来启动会话。可以将数据存储在 $_SESSION 中,以便在其他页面上访问。这些数据在会话结束时被销毁,或者使用 session_destroy() 函数手动销毁。

4. $_SERVER

$_SERVER 是一个包含了服务器和当前脚本的信息的数组。这些信息包括文件路径、URL、脚本名称和其他相关信息。

    echo $_SERVER['HTTP_HOST']; // 输出当前域名
    echo $_SERVER['REQUEST_URI']; // 输出当前请求的 URI
    echo $_SERVER['SCRIPT_FILENAME']; // 输出当前脚本的物理路径

通过使用 $_SERVER['key'],你可以访问服务器和脚本相关的信息。$_SERVER 也是一个关联数组,你可以使用循环语句遍历其所有键及其对应的值。

总结一下,PHP 中的超全局变量是特殊的预定义变量,可以在任何作用域中访问。它们包括 $_GET、$_POST、$_SESSION 和 $_SERVER 等常用的全局变量。使用 $_GET 可以获取 URL 中通过 HTTP GET 方法传递的变量和值,$_POST 可以获取通过 HTTP POST 方法传递的变量和值,$_SESSION 可以存储和访问因特网会话数据,$_SERVER 可以获取服务器和当前脚本的信息。合理利用超全局变量可以方便地获取和传递数据,提高开发效率和代码的灵活性。