Posted in PHP onJune 09, 2011
<?php /* 预定义数组: * 自动全局变量---超全局数组 * * 1.包含了来自WEB服务器,客户端,运行环境和用户输入的数据 * 2.这些数组比较特别 * 3.全局范围内自动生效,都可以直接使用这些数组 * 4.用户不能自定义这些数组,但这些数组的操作方式和自己定义的数组操作的方式一样 * 5.在函数中直接可以使用这些数组 * * $_GET //经由URL请求提交至脚本的变量 * $_POST //经由HTTP POST 方法提交到脚本的变量 * $_REQUEST //经由GET , POST和COOKIE机制提交 到脚本的变量 * $_FILES //经由http post方法文件上传而提交至脚本的变量 * $_COOKIE * $_SESSION * $_ENV //执行环境提交至脚本的变量 * $_SERVER //变量由WEB服务器设定的,或直接和当前脚本的执行环境相关联 * $GLOBALS //只要是当前脚本有效的变量都在这里,数组的键名为全局脚本的名称 * * */ //超全局数组在函数内部可以直接调用 $arr=array(10,20);//一般数组 $_GET=array(50,90);//超全局数组 function demo(){ global $arr;//调用全局变量要先包含 print_r($arr); print_r($_GET);//直接调用超全局数组不用包含 } ?> <!-- **********页面传值get请求*************** --> <?php //直接把传的值当变量用,当php.ini配置文件中register_global=on时有用。 echo $username."<br>"; echo $email."<br>"; echo $page."<br>"; //最稳定的取值方法 echo $_GET["username"]."<br>"; echo $_GET["email"]."<br>"; echo $_GET["page"]."<br>"; ?> <a href="demo.php?username=zhangsan&email=aaa@bbb.com&page=45">this is a $_GET test</a> <!-- ***********页面传值post请求**************** --> <form action="demo.php" method="post"> username:<input type="text" name="uname" /> <br/> password:<input type="password" name="pass" /> <br/> <input type="submit" value="login" /> <br /> </form> <?php print_r($_GET);//不能接收到 print_r($_POST);//这样才能接收到 ?> <?php //$_ENV的使用 echo'<pre>'; print_r($_ENV); echo'</pre>'; //显示当前环境 // 也可以单个遍历 ?> <?php //利用$GLOBALS超全局数组在函数内部调用全局变量 $a=100; $b=200; $c=300; function demo() { //直接调用全局变量 echo $GLOBALS["a"]."<br>"; echo $GLOABLS["b"]."<br>"; echo $GLOABLS["c"]."<br>"; } ?>
php学习笔记 [预定义数组(超全局数组)]
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@