PHP編譯代碼有些變量是提前定義的,不需要在使用的時(shí)候重新定義,這些變量可以再任何時(shí)候直接使用,你不需要特別說(shuō)明,就可以在函數(shù)及類中使用。
PHP 超級(jí)全局變量列表:
$GLOBALS,$_SERVER,$_REQUEST,$_POST,$_GET,$_FILES,$_ENV,$_COOKIE,$_SESSION
$_SERVER 是一個(gè)數(shù)組,一個(gè)服務(wù)器生成的數(shù)組。這個(gè)數(shù)組中包含了一些網(wǎng)頁(yè)header信息、訪問(wèn)路徑、和一些腳本位置等等很多信息的數(shù)據(jù)。在這個(gè)數(shù)組中的數(shù)據(jù)都是由服務(wù)器來(lái)自動(dòng)生成??梢越^大部分的服務(wù)器都可以完整生成;有的服務(wù)器可能會(huì)被忽略一些,或者是出現(xiàn)了一些沒(méi)有出現(xiàn)過(guò)的信息以及錯(cuò)誤的數(shù)組。
PHP $_REQUEST 一個(gè)數(shù)據(jù)接收用的全局變量,用來(lái)收集HTML表單提交的數(shù)據(jù),或者是ajax前端提交過(guò)來(lái)的數(shù)據(jù)。
當(dāng)我們點(diǎn)擊 "Submit" 按鈕來(lái)發(fā)送表單數(shù)據(jù)的時(shí)候, 表單的數(shù)據(jù)將被提交到form標(biāo)簽中 action 屬性中指定的提交地址。 我們可以在指定的路徑文件中來(lái)處理發(fā)送過(guò)來(lái)的表單數(shù)據(jù)。在接收參數(shù)的處理文件中,我們就可以使用超級(jí)全局變量 $_REQUEST 來(lái)獲取之前表單提交過(guò)來(lái)的所有數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行處理。
PHP $_POST 被廣泛應(yīng)用于收集表單數(shù)據(jù),在HTML form標(biāo)簽的指定該屬性:"method="post"。
當(dāng)我們點(diǎn)擊 "Submit" 按鈕來(lái)發(fā)送表單數(shù)據(jù)的時(shí)候, 表單的數(shù)據(jù)將被提交到form標(biāo)簽中 action 屬性中指定的提交地址,但是我們需要給表單加一個(gè)屬性method="post”,讓表單的數(shù)據(jù)用post的方式來(lái)傳輸數(shù)據(jù)。 然后我們?cè)诤笈_(tái)文件中需要使用對(duì)應(yīng)的放來(lái)來(lái)獲取。在接收參數(shù)的處理文件中,我們就可以使用超級(jí)全局變量 $_POST 來(lái)獲取之前表單提交過(guò)來(lái)的所有數(shù)據(jù),然后對(duì)數(shù)據(jù)進(jìn)行處理。
PHP $_GET 跟 PHP $_POST的使用方法一致,只不過(guò)數(shù)據(jù)傳輸?shù)姆绞讲煌琯et在url中傳遞數(shù)據(jù),在后臺(tái)文件中接收數(shù)據(jù)就不能用$_POST來(lái)接受數(shù)據(jù),而需要改用$_GET來(lái)獲取get方式傳輸?shù)臄?shù)據(jù)。
$_GET 也可以收集URL中發(fā)送的數(shù)據(jù)。
局部變量。在函數(shù)內(nèi)部聲明的變量,就是局部變量,當(dāng)函數(shù)執(zhí)行完畢,局部變量就消失了。局部變量,只能在函數(shù)內(nèi)部使用,簡(jiǎn)單來(lái)說(shuō)就是只能在當(dāng)前的方法中使用,換個(gè)方法,變量就消失需要重新定義。
在函數(shù)外部聲明的變量,就是全局變量。在 PHP 中,全局變量,就是在函數(shù)方法外部定義一個(gè)全局變量,在所有方法中都可以使用該全局變量