複製代碼 代碼如下:<?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>";
}
?>