PHP预定义变量9大超全局数组用法详解

yizhihongxing

PHP预定义变量9大超全局数组用法详解

PHP提供了9个超全局数组,它们在任何作用域中都可访问,无需使用global关键字。下面将详细介绍这9个超全局数组的用法。

1. $GLOBALS

$GLOBALS是一个包含了全局变量的全局关联数组。它可以在函数内部访问全局变量,也可以在函数外部访问局部变量。示例代码如下:

$global_var = 10;

function test() {
    $local_var = 20;
    echo $GLOBALS['global_var']; // 输出 10
    echo $GLOBALS['local_var']; // 输出 Notice: Undefined index: local_var
}

test();

2. $_SERVER

$_SERVER包含了服务器和执行环境的信息。它是一个关联数组,存储了诸如请求头、路径、脚本位置等信息。示例代码如下:

echo $_SERVER['HTTP_HOST']; // 输出当前请求的主机名
echo $_SERVER['REQUEST_URI']; // 输出当前请求的URI

3. $_GET

$_GET用于获取通过URL传递的参数。它是一个关联数组,存储了URL中的查询字符串参数。示例代码如下:

// URL: http://example.com/?name=John&age=25
echo $_GET['name']; // 输出 John
echo $_GET['age']; // 输出 25

4. $_POST

$_POST用于获取通过HTTP POST方法传递的参数。它是一个关联数组,存储了POST请求中的参数。示例代码如下:

// HTML 表单:<form method=\"post\" action=\"process.php\"><input type=\"text\" name=\"username\"></form>
echo $_POST['username']; // 输出表单中输入的用户名

5. $_FILES

$_FILES用于获取通过HTTP POST方法上传的文件。它是一个关联数组,存储了上传文件的相关信息,如文件名、临时文件路径等。示例代码如下:

// HTML 表单:<form method=\"post\" action=\"process.php\" enctype=\"multipart/form-data\"><input type=\"file\" name=\"file\"></form>
echo $_FILES['file']['name']; // 输出上传文件的原始文件名
echo $_FILES['file']['tmp_name']; // 输出上传文件的临时文件路径

6. $_COOKIE

$_COOKIE用于获取通过HTTP Cookie传递的参数。它是一个关联数组,存储了客户端发送的Cookie信息。示例代码如下:

echo $_COOKIE['username']; // 输出客户端发送的名为 \"username\" 的Cookie值

7. $_SESSION

$_SESSION用于存储和获取会话数据。它是一个关联数组,存储了会话变量的值。示例代码如下:

session_start();
$_SESSION['username'] = 'John';
echo $_SESSION['username']; // 输出 John

8. $_REQUEST

$_REQUEST用于获取通过HTTP请求(GET、POST和COOKIE)传递的参数。它是一个关联数组,存储了所有请求方法的参数。示例代码如下:

echo $_REQUEST['name']; // 输出通过GET、POST或COOKIE传递的名为 \"name\" 的参数值

9. $_ENV

$_ENV用于获取系统环境变量。它是一个关联数组,存储了系统环境变量的值。示例代码如下:

echo $_ENV['PATH']; // 输出系统环境变量中的 \"PATH\" 的值

以上就是PHP预定义变量9大超全局数组的详细用法说明。通过使用这些超全局数组,您可以轻松地访问和操作各种全局信息和用户输入数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP预定义变量9大超全局数组用法详解 - Python技术站

(0)
上一篇 2023年8月9日
下一篇 2023年8月9日

相关文章

  • scrollreveal(页面缓入效果插件)

    当然,我很乐意为您提供有关“scrollreveal(页面缓入效果插件)”的完整攻略。以下是详细的步骤和两个示例: 1. 什么是scrollreveal? scrollreveal是一款基于JavaScript的页面缓入效果插件,可以用于在网页中实现元素的动态显示效果。它支持多种动画效果和自定义配置,并且可以与其他JavaScript库和框架一起使用。 以下…

    other 2023年5月6日
    00
  • JS高级ES6的6种继承方式

    下面是JS高级ES6的6种继承方式的详细攻略。 1. 经典继承(原型链继承) 原理: 子类的原型为父类的一个实例,通过设置子类的原型链,使子类可以访问父类的属性和方法,也就实现了继承。 示例: // 父类 function Animal(name) { this.name = name; this.sayName = function() { console…

    other 2023年6月26日
    00
  • idea神级插件及如何安装Bito插件【Bito-ChatGPT】

    安装Bito插件【Bito-ChatGPT】的完整攻略 Bito插件是一款基于GPT-3.5 Turbo模型的神级插件,它可以为你的Idea提供智能的建议和创意。下面是安装Bito插件的详细攻略: 步骤一:准备工作 在开始安装Bito插件之前,确保你已经完成以下准备工作: 安装最新版本的IDE或文本编辑器,如Visual Studio Code、PyChar…

    other 2023年7月27日
    00
  • android studio的terminal配置

    以下是关于“Android Studio的Terminal配置”的完整攻略,包括定义、使用方法、示例说明和注意事项。 定义 Android Studio是一款用于开发Android应用程序的集成开发环境(IDE)。它包含了许多用的工具和功能,其中包括一个内置的终端(Terminal)工具。终端是一个命令行界面,可以让开发者在Android Studio中执行…

    other 2023年5月8日
    00
  • 阿里云盘怎么修改文件名?阿里云盘修改文件名教程

    阿里云盘修改文件名教程 在阿里云盘中修改文件名非常简单,只需要按照以下步骤操作: 首先登录到阿里云盘官网,然后找到你想修改文件名的文件 点击文件名右侧的三个点 “…” 在下拉菜单中选择”重命名” 输入你想要修改的新文件名,然后点击”确定”按钮即可完成修改 以下是两个具体的修改文件名的示例: 示例一 假设我们的文件名为”example_file.doc”,…

    other 2023年6月26日
    00
  • C语言 Freertos的递归锁详解

    C语言 Freertos的递归锁详解 什么是递归锁 递归锁是一种特殊的互斥锁,允许同一个线程在获得锁之后,可以多次加锁,直到释放所有锁。一般的互斥锁不允许同一个线程重复加锁,否则会导致死锁。 Freertos的递归锁 Freertos是一款基于RTOS(Real-Time Operating System)的实时操作系统,在多线程的环境下,用递归锁实现同步非…

    other 2023年6月27日
    00
  • javalist复制:浅拷贝与深拷贝

    javalist复制:浅拷贝与深拷贝 在Java中,有时候我们需要复制一个List对象,这时候就需要考虑到复制的方式。一般来说,复制方式分为浅拷贝和深拷贝。 浅拷贝 浅拷贝是指将一个对象复制到一个新的对象中,但是这两个对象中的元素是共享的,即对一个对象进行修改会影响到另一个对象。在Java中,List的clone方法就是浅拷贝。 可以看下面的例子: List…

    其他 2023年3月28日
    00
  • python小球落地问题及解决(递归函数)

    Python小球落地问题及解决(递归函数) 问题描述 一个小球从h米高的地方落下,每次落地后反弹回原来高度的一半;再落下,求它在第n次落地时,共经过了多少米?第n次反弹多高? 解决方法 这个问题可以用递归函数来解决。 首先,我们需要明确一下几个概念: $h$ 表示初始高度 $n$ 表示经过次数(包括反弹) $l$ 表示经过的路程总长度 $b$ 表示第 $n$…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部