復制代碼 代碼如下:
<?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="[email protected]&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>";
}
?>