PHP中预定义的超全局数组
更新:HHH   时间:2023-1-7


预定义数组:

自动全局变量--超全局数组


1.包含了来自Web服务器,客户端,运行环境和用户输入的数据.

2.这些数组比较特别,全局范围内自动生效,都可以直接使用这些数组

3.用户不能自定义这些数组.但这些数组的操作方式又和我们自己定义数组操作方式一样

4.在函数中直接可以使用这些数组.



$_GET//经由URL请求提交至脚本的变量


 例:<?php

echo $_GET["username"];

echo $_GET["age"];

echo $_GET["sex"];

    ?>

    <a href="demo.php?username=zhangsan&age=19&sex=nan">Test</a>

    //当点击Test链接时,会获取URL中的变量信息

    //输出结果: zhangsan  19  nan

    //缺点:有密码等安全信息(如表单)不能使用GET请求,有大数据不能使用GET(地址栏


容纳的数据有限,最多8092字节)

---------------------------------------

$_POST//经由HTTP POST方法提交至脚本的变量


//添加文章,上传文件,安全性必须使用POST

---------------------------------------

$_REQUEST

//经由GET,POST,COOKIE机制提交至脚本的变量,因此不值得信任,尽量不使用

//GET POST COOKIE提交的数据$_REQUEST都可以接受到

//在不确定使用的那种提交方式,可以用这个数组

----------------------------------------

$_FILES//经由HTTP POST文件上传而提交至脚本的变量


$_COOKIE//控制会话控制

$_SESSION//控制会话控制

$_ENV//执行环境提交至脚本的变量(和服务器操作系统有关的信息)

$_SERVER//变量由Web服务器设定的或直接和当前脚本的执行环境相关


$GLOBALS//只要是当前脚本有效的变量都在这里,数组键名为全局变量的名称

//这里有上面所有全局变量及自定义全局变量的信息


例: $a=100;

   function demo(){

$GLOBALS["a"];  //这样可以直接取到值,不需要再使用 global a;声明

   }


4.可以直接往全局数组里面写数组里面写数据

例: $_ENV["hello"]="##########" //向$_ENV数组后面插入#号

5.全局数组和超全局数组的区别

例: $arr=array(10,20);

   function demo(){

global $arr;  //这里必须在全局变量$arr加上global关键字,下面的输出语句才


能起作用,而超全局变量不需要

print_r($arr);

   }


返回web开发教程...