人生具有无限的可能性,你的梦想一定能实现

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);//直接调用超全局数组不用包含
	}
	
	


?>

<!-- **********页面传值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>";
		
	}
?>
posted @ 2011-06-09 13:37  代号极光  阅读(1071)  评论(0编辑  收藏  举报

本博客所有权归作者代号极光紫竹园博客园