php学习笔记 [预定义数组(超全局数组)]
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);//直接调用超全局数组不用包含
- }
- ?>
- //直接把传的值当变量用,当php.ini配置文件中register_global=on时有用。
- echo $username."
";
- echo $email."
";
- echo $page."
";
- //最稳定的取值方法
- echo $_GET["username"]."
";
- echo $_GET["email"]."
";
- echo $_GET["page"]."
";
- ?>
- "demo.php?username=zhangsan&email=aaa@bbb.com&page=45">this is a $_GET test >
- action=
- username: action= type=
- password: action= type= type=
- action= type= type= type=
- print_r($_GET);//不能接收到
- print_r($_POST);//这样才能接收到
- ?>
- //$_ENV的使用
- echo'
';
- print_r($_ENV);
- echo'
- ';
- //显示当前环境
- // 也可以单个遍历
- ?>
- //利用$GLOBALS超全局数组在函数内部调用全局变量
- $a=100;
- $b=200;
- $c=300;
- function demo()
- {
- //直接调用全局变量
- echo $GLOBALS["a"]."
";
- echo $GLOABLS["b"]."
";
- echo $GLOABLS["c"]."
";
- }
- ?>