PHP超全局数组(Superglobals)介绍

PHP超全局数组是指在整个脚本中生效的全局变量,它们是预定义好的变量,可以在任何可见的位置访问。PHP中有以下5个超全局数组:

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_COOKIE
  • $_REQUEST
  • $_FILES
  • $_ENV

下面详细介绍一下每一个超全局数组:

1. $GLOBALS

$GLOBALS 是一个包含了全部变量的全局组合数组,变量名就是数组的键名,变量值就是键值。例如:

$a = 10;
$b = 20;

function sum() {
  global $a, $b;
  $GLOBALS['c'] = $a + $b;
}

sum();
echo $GLOBALS['c'];   // 输出 30

在上面的例子中,我们定义了两个变量 $a$b,在 sum() 函数中使用了 global 来访问 $a$b。然后我们将 $a + $b 的结果赋值给 $GLOBALS['c'] 变量,最后在函数外部就可以直接使用 $GLOBALS['c'] 变量来输出结果。

2. $_SERVER

$_SERVER 是一个包含了超级全局变量 $server 中的信息的数组。$server 中的信息包括了很多与服务器相关的元素,例如服务器目前运行的脚本名称,请求中的头信息,请求中的路径,客户端的 IP 地址,请求的方法等等。

// 示例:获取客户端的IP地址
echo $_SERVER['REMOTE_ADDR'];

3. $_GET

$_GET 是用来得到HTTP GET请求中的参数的数组。当我们使用 GET 方法向服务器提交请求时,服务器将参数信息按照 URL 参数的方式来传递。例如:

// URL 中有 ?name=John&age=30 参数
echo $_GET['name'];   // 输出 John
echo $_GET['age'];    // 输出 30

4. $_POST

$_POST 是用来得到 HTTP POST 请求中的参数。POST 请求的数据将存储在请求的主体中,而不是通过URL来进行传递。我们可以使用表单等方式来提交 POST 请求。例如:

// HTML 代码
<form action="submit.php" method="POST">
  <input type="text" name="username" />
  <input type="password" name="password" />
  <input type="submit" value="提交" />
</form>

// PHP 代码
echo $_POST['username'];    // 输出提交的用户名
echo $_POST['password'];    // 输出提交的密码

5. $_COOKIE

$_COOKIE 是由客户端发送到PHP的所有 cookie 的变量。当客户端与服务器进行交互时,服务器可以发送一个 cookie 给客户端,客户端将在下一次连接时将该 cookie 值自动发送回服务器。例如:

// 设置 cookie
setcookie('user', 'John', time()+3600);    // 有效期为1小时

// 获取 cookie
echo $_COOKIE['user'];

示例

示例一:使用 $_SERVER 打印出当前网站的URL和用户的浏览器信息

echo '当前网站的URL:' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '<br>';
echo '用户的浏览器信息:' . $_SERVER['HTTP_USER_AGENT'];

示例二:使用 $_GET 和 $_POST 获取表单的数据

// HTML 代码
<form action="submit.php" method="POST">
  <input type="text" name="username" />
  <input type="password" name="password" />
  <input type="submit" value="提交" />
</form>

// PHP 代码
echo $_GET['username'];   // 输出空,因为提交时使用了 POST 请求
echo $_POST['username'];  // 输出提交的用户名

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP超全局数组(Superglobals)介绍 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • php下实现伪 url 的超简单方法[转]

    下面我会针对“PHP下实现伪URL的超简单方法[转]”一文进行详细讲解。 概述 该文章介绍了如何使用PHP实现伪URL,即将原本传统的URL地址转换成更加优雅、易读的形式,同时具有一定的美观性和搜索引擎友好性。文章主要使用了PHP的URL重写功能,通过解析URL路径参数,自动跳转到对应的页面。 实现步骤 1. 配置URL重写规则 使用url重写规则,将美化过…

    PHP 2023年5月23日
    00
  • Win8.1系统下搭建IIS8.5+PHP5.5.4运行环境教程

    Win8.1系统下搭建IIS8.5+PHP5.5.4运行环境教程 简介 本文将介绍在Win8.1系统下搭建IIS8.5+PHP5.5.4运行环境的详细步骤和注意事项。 步骤 打开控制面板,选择“程序”,然后选择“启用或关闭Windows功能”。 在弹出窗口中,找到“Internet Information Services”并展开。 勾选“Web Manag…

    PHP 2023年5月24日
    00
  • 基于php权限分配的实现代码

    下面我将为您详细讲解“基于PHP权限分配的实现代码”的完整攻略。 简介 在网站开发中,通常需要将系统面向各种角色提供不同的功能和操作权限。本文将介绍如何基于PHP实现基本的权限访问控制,以及如何实现简单的角色权限分配。 步骤 构建数据库 首先,我们需要构建一个数据库,用于保存角色和权限信息。本文中我们将使用MySQL数据库。在数据库中,我们需要创建两个表:r…

    PHP 2023年5月23日
    00
  • php设计模式 Singleton(单例模式)

    下面就让我来详细讲解一下 PHP 设计模式 Singleton(单例模式)的完整攻略。 什么是单例模式? 单例模式是一种创建型设计模式,它确保一个类只有一个实例,并且提供了一个全局访问点来访问这个实例。单例模式通常用于管理共享资源,例如数据库连接、日志文件等等。 单例模式的使用场景 当一个类的实例化需要耗费很多资源的时候,或者介于全局变量和局部变量之间,适合…

    PHP 2023年5月27日
    00
  • destoon二次开发常用数据库操作

    下面是“destoon二次开发常用数据库操作”的完整攻略: destoon二次开发常用数据库操作 在destoon二次开发中,对数据库进行读写操作是非常常见的。本文介绍了destoon常用的数据库操作方法,包括CRUD操作和批量操作。 CRUD操作 CRUD是指应用程序实现的四种基本操作:Create(创建)、Read(读取)、Update(更新)和Dele…

    PHP 2023年5月23日
    00
  • PHP字符串比较函数strcmp()和strcasecmp()使用总结

    下面我将为您详细讲解“PHP字符串比较函数strcmp()和strcasecmp()使用总结”的完整攻略。 什么是strcmp()和strcasecmp() 在PHP中,有两个常用的字符串比较函数,分别是 strcmp() 和 strcasecmp()。其中 strcmp() 用于比较两个字符串是否相等,而 strcasecmp() 也用于比较两个字符串,但…

    PHP 2023年5月26日
    00
  • 新版PHP将向Java靠拢

    最近互联网上出现了很多说法,认为新版PHP将向Java靠拢,这个说法的主要依据是PHP 8.0 版本带来的一些重大变化,例如 JIT 编译优化、静态分析和类型注释等功能的加入。这些变化可以使PHP的性能和稳定性大幅提高,同时也增加了与Java类似的特性,所以有人认为PHP正在朝着Java的方向发展。那么,如果想要学习这种新版PHP,应该怎么做呢?下面就为大家…

    PHP 2023年5月24日
    00
  • PHP实现浏览器中直接输出图片的方法示例

    可以通过以下步骤实现PHP在浏览器中直接输出图片的方法: 实现方法 使用PHP原生函数实现 <?php $filename = "test.png"; // 返回文件类型,例如image/png $file_type = mime_content_type($filename); // 将文件以文件流的形式输出 header(&qu…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部