php预定义数组: 自动全局变量---超全局数组

 

 

<?php

/* 预定义数组:

 *  自动全局变量---超全局数组:是数组的用法,但是不能自己定义。在任何函数任何页面中都可以使用

 *

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

 *  2. 这些数组比较特别

 *  3. 全局范围内自动生效,都可以直接使用这些数组

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

    5、在函数中可以直接使用这些数组

 *

 * $_GET  //经由URL请求提交至服务器端脚本的变量(地址栏中请求(连接中的请求);表单请求,默认不指定method 就是GET方法)

 * $_POST //经由HTTP POST方法提交到脚本的变量(因为地址栏的空间是有限的,请求的参数都显示在地址栏中,密码性的安全的数据或者大的数据最好用post方法请求服务器)

 * 有文件上传的时候必须用Post。他是HTTP提交,随表单一起提交给服务器。

 

  $_REQUEST//经由GETPOSTCOOKIE机制提交至脚本的变量。当服务器端不确定客户端使用的是GET还是Post方法提交的数据,那么用$_REQUEST都能接收到提交过来的参数。

  因此该数组并不值得我们信任,尽量不去使用。因为客户端不管用POST方法还是Get方法都能够进行攻击。

 *

  $_FILES//经由HTTP POST文件上传而提交给脚本的变量都记录在这里。

 

  $_COOKIE//跟踪用户变量。会话控制的

 * $_SESSION//

 

 * $_ENV //执行环境提交至脚本的变量

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

 *

  $GLOBALS//只要是当前脚本有效的变量都在这里。数组键名为全局变量的名称。包含一个应用指向每一个脚本全局范围内有效的变量。

 *

 *

 什么是全局变量呢?,如下面的$arr,要想在函数中使用$arr就要global把它包含到函数中,而超级全局数组就不用包含到函数中就可以直接使用

 $arr=array(10, 20);

 $_GET=array(50, 90);

function demo(){

global $arr;

print_r($arr);

print_r($_GET);

 }

demo();

 

 //只要是存储在这些超全局数组中的变量,提交过来的数据我们直接可以把数组里的成员当做变量来用$_GET举例

<?php //但是这个前提是php配置中register_global=On处于开启状态才可以直接用,否则,页面中不会收到的,但如果开启,会处于不安全的状态

echo $username."<br>";

echo $email."<br>";

echo $page."<br>";

?>

 

<?php

echo $_GET["username"]."<br>";

echo $_GET["email"]."<br>";

echo $_GET["page"]."<br>";

$_GET["eeee"]="@@@@@@@@@@@@";

print_r($_GET);//服务器端的操作。取数组数据

print_r($_POST);

print_r($_REQUEST);

?>

 

<form action="demo.php" method="post">//客户端的操作,把method换成get试一下

username : <input type="text" name="uname"><br>

password:  <input type="password" name="pass"><br>

<input type="submit" value="login"> <br>

</form>

 

 

<a href="demo.php?username=zhangsan&email=aaa@bbb.com&page=45">this is a $_GET test</a>

 

 

$GLOBALS

<?php  

$a=100;

$b=200;

$c=300;

echo "<pre>";

print_r($GLOBALS);

echo "</pre>";

 

function demo(){

global $a;

echo $a;

echo $GLOBALS["c"]."<br>";

}

 

demo();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值