国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP開發(fā)基礎(chǔ)教學(xué)超全域變量

概括

之前章節(jié)中提到的全域變數(shù)是不能在函數(shù)內(nèi)部引用,但是超級(jí)全域變數(shù)可以

超級(jí)全域變數(shù)在PHP 4.1.0之後啟用, 是PHP系統(tǒng)中自帶的變量,在一個(gè)腳本的全部作用域中都可用。


一、PHP 超級(jí)全域變數(shù)

#PHP中預(yù)先定義了幾個(gè)超級(jí)全域變數(shù)(superglobals) ,這意味著它們?cè)谝粋€(gè)腳本的全部作用域中都可用。 你不需要特別說明,就可以在函數(shù)及類別中使用。

PHP 超級(jí)全域變數(shù)清單:

  • ##?$GLOBALS

  • ?$_SERVER

  • ?$_REQUEST

  • ?$_POST

  • #?$_GET

  • ?$_FILES

  • #?$_ENV

  • ?$_COOKIE

  • ?$_SESSION

#本章節(jié)我們將講解幾個(gè)常用的超級(jí)全域變數(shù),其餘變數(shù)我們?cè)诮酉聛韼讉€(gè)章節(jié)會(huì)介紹到。


二、PHP $GLOBALS

#$GLOBALS 是PHP的一個(gè)超級(jí)全域變數(shù)組,在一個(gè)PHP腳本的全部作用域中都可以存取。

$GLOBALS 是一個(gè)包含了全部變數(shù)的全域組合陣列。變數(shù)的名字就是數(shù)組的鍵。

以下實(shí)例介紹如何使用超級(jí)全域變數(shù)$GLOBALS

程式碼如下

<?php 
//定義兩個(gè)全局變量,函數(shù)內(nèi)部不可以訪問
$x = 75; 
$y = 25;
//定義函數(shù)
function addition() 
{ 
//將全局變量變?yōu)槌?jí)全局變量,這樣在函數(shù)內(nèi)部就可以正常訪問了
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
}
//調(diào)用函數(shù)
addition();
//輸出函數(shù)內(nèi)部定義的全局變量 
echo $z; 
?>

註:以上實(shí)例中z 是一個(gè)$GLOBALS數(shù)組中的超級(jí)全域變量,該變數(shù)同樣可以在函數(shù)外存取


三、PHP $_SERVER

$_SERVER 是一個(gè)包含了頭資訊(header )、路徑(path)、以及腳本位置(script locations)等等資訊的陣列。這個(gè)數(shù)組中的項(xiàng)目是由 Web 伺服器所建立。不能保證每個(gè)伺服器都提供全部項(xiàng)目;伺服器可能會(huì)忽略一些,或提供一些沒有在這裡列舉出來的項(xiàng)目。

以下實(shí)例中展示如何使用$_SERVER中的元素:

實(shí)例程式碼如下:

<?php 
//輸出當(dāng)前腳步的文件名
echo "<h3>輸出當(dāng)前腳步的文件名</h3>";
echo $_SERVER['PHP_SELF'];
echo "<hr/>";
//當(dāng)前腳步所在服務(wù)器的主機(jī)名
echo "<h3>當(dāng)前腳步所在服務(wù)器的主機(jī)名</h3>";
echo $_SERVER['SERVER_NAME'];
echo "<hr/>";
//當(dāng)前請(qǐng)求頭中 Host
echo "<h3>當(dāng)前請(qǐng)求頭中 Host</h3>";
echo $_SERVER['HTTP_HOST'];
echo "<hr/>";
//引導(dǎo)用戶代理到當(dāng)前頁的前一頁的地址(如果存在)
echo "<h3>引導(dǎo)用戶代理到當(dāng)前頁的前一頁的地址(如果存在)</h3>";
echo $_SERVER['HTTP_REFERER'];
echo "<hr/>";
//用來檢查瀏覽頁面的訪問者在用什么操作系統(tǒng)
echo "<h3>用來檢查瀏覽頁面的訪問者在用什么操作系統(tǒng)</h3>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<hr/>";
//包含當(dāng)前腳本的路徑
echo "<h3>包含當(dāng)前腳本的路徑</h3>";
echo $_SERVER['SCRIPT_NAME'];
?>

更多的?$_SERVER 變數(shù)中的重要元素請(qǐng)見下表:

16.png


四、PHP $_GET

PHP $_GET 被廣泛應(yīng)用於收集表單數(shù)據(jù),在HTML form標(biāo)籤的指定該屬性:"method="get"。

$_GET 也可以收集URL中發(fā)送的數(shù)據(jù)。

假定我們有一個(gè)包含參數(shù)的超鏈接HTML頁面:

<html>
<body>
<!--創(chuàng)建個(gè)連接,連接到12_7.php,并且傳過去兩個(gè)值-->
<a href="test.php?subject=PHP&web=php.cn">點(diǎn)擊,利用GET方式傳值</a>
</body>
</html>

當(dāng)使用者點(diǎn)擊連結(jié)"點(diǎn)擊,利用GET方式傳值", 參數(shù)"subject" 和"web" 將發(fā)送至"test.php",你可以在"test.php" 文件中使用$_GET 變數(shù)來取得這些資料。


五、PHP $_POST

$_POST 和$_GET一樣,被應(yīng)用於收集表單數(shù)據(jù),在HTML form標(biāo)籤的指定該屬性:"method="post"。

#以下實(shí)例顯示了一個(gè)輸入字段(input)及提交按鈕(submit)的表單(form )。其他的PHP檔案來處理該數(shù)據(jù),你可以修改該指定的腳本檔案名稱。 #

<html>
<body>
<!-- 接收12_6.php傳來的值 -->
<?php 
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>

附註:因?yàn)楸敬翁峤皇翘峤坏侥壳绊撁?,所以頁面載入完成後會(huì)顯示變數(shù)fname未定義,提交過去一個(gè)值過去就會(huì)消失




六、PHP $_REQUEST

PHP $_REQUEST 用來收集HTML表單提交的數(shù)據(jù),可以收集到POST 和GET兩種提交方式提交過來的數(shù)據(jù)。透過點(diǎn)擊"Submit" 按鈕提交表單資料時(shí), 表單資料將會(huì)傳送至<form>標(biāo)籤中action 屬性中指定的腳本檔案。來處理該數(shù)據(jù),你可以修改該指定的腳本檔名。 註:fname未定義原因和上面$_POST一樣

學(xué)習(xí)心得:

一些超級(jí)全域變數(shù)沒必要全部記住,需要的時(shí)候查手冊(cè)即可

$_GET,$_POST,$_REQUEST三者之間的區(qū)別,在後面的章節(jié)會(huì)詳細(xì)介紹

繼續(xù)學(xué)習(xí)
||
<?php //定義兩個(gè)全局變量,函數(shù)內(nèi)部不可以訪問 $x = 75; $y = 25; //定義函數(shù) function addition() { //將全局變量變?yōu)槌?jí)全局變量,這樣在函數(shù)內(nèi)部就可以正常訪問了 $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } //調(diào)用函數(shù) addition(); //輸出函數(shù)內(nèi)部定義的全局變量 echo $z; ?>
提交重置程式碼