欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php学习笔记 [预定义数组(超全局数组)]

程序员文章站 2022-06-03 10:43:57
复制代码 代码如下:

复制代码 代码如下:

<?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>";
}
?>