6.4.1 PHP超全局數(shù)組(預定義變量)概述
超全局數(shù)組(預定義變量)
? 服務器變量: $_SERVER
? 環(huán)境變量: $_ENV
? HTTP GET變量: $_GET
? HHTP POST變量: $_POST
? request變量: $_REQUEST
? HTTP文件上傳變量: $_FILES
? HTTP Cookies:$_COOKIE
? Session變量: $_SESSION
? Global變量: $_GLOBALS
服務器變量: $_SERVER
?$_SERVER是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數(shù)組。數(shù)組的實體由 web 服務器創(chuàng)建倒信。不能保證所有的服務器都能產(chǎn)生所有的信息馁筐;服務器可能忽略了一些信息仅胞,或者產(chǎn)生了一些未在下面列出的新的信息族铆。這是一個自動全局變量汉规。這只不過意味這它在所有的腳本中都有效导匣。在函數(shù)或方法中不需要使用 global $_SERVER;
–PHP_SELF:當前正在執(zhí)行腳本的文件名
–DOCUMENT_ROOT:當前運行腳本所在的文檔根目錄
–REMOTE_ADDR:正在瀏覽當前頁面用戶的 IP 地址才菠。
環(huán)境變量:$_ENV
?在解析器運行時,這些變量從環(huán)境變量轉(zhuǎn)變?yōu)?PHP 全局變量名稱空間(namespace)逐抑。它們中的許多都是由 PHP 所運行的系統(tǒng)決定鸠儿。完整的列表是不可能的。請查看系統(tǒng)的文檔以確定其特定的環(huán)境變量厕氨。
?這是一個自動全局變量进每。它在所有的腳本中都有效。在函數(shù)或方法中不需要使用 global $_ENV;
HTTP GET變量:$_GET
通過 HTTP GET 方法傳遞的變量組成的數(shù)組命斧。是自動全局變量.
http://localhost/login.php?name=zhangsan&id=100
<?php
echo “參數(shù)name的值:”.$_GET[“name”]田晚; //zhangsan
echo “參數(shù)id的值:”.$_GET[“id”]; //100
?>
HTTP POST變量:$_POST
?通過 HTTP POST 方法傳遞的變量組成的數(shù)組国葬。是自動全局變量贤徒。
?與$_GET相似,只是方法不一樣汇四。
request變量:$_REQUEST
?此關(guān)聯(lián)數(shù)組包含 $_GET接奈,$_POST和 $_COOKIE中的全部內(nèi)容。
HTTP文件上傳變量:$_FILES
?通過 HTTP POST 方法傳遞的已上傳文件項目組成的數(shù)組通孽。是自動全局變量序宦。
HTTP Cookies:$_COOKIE
通過 HTTP cookies 傳遞的變量組成的數(shù)組。是自動全局變量背苦。
Session變量:$_SESSION
?包含當前腳本中 session 變量的數(shù)組互捌。參閱 Session 函數(shù)文檔以獲得更多信息。
Global變量:$GLOBALS
?由所有已定義全局變量組成的數(shù)組行剂。變量名就是該數(shù)組的索引秕噪。
例 1.php
<?php
/*
* 超全局數(shù)組(變量), 在PHP的腳本中, 已經(jīng)聲明完的變量厚宰, 你可以直接就去使用即可! 變量的名子已經(jīng)規(guī)定好的了
*
*
* $_SERVER
* $_ENV
* $_GET
* $_POST
* $_REQUEST
* $_FILES
* $_COOKIE
* $_SESSION
* $GLOBALS
*
*
* 超 全局 數(shù)組
*
*
* 1. 數(shù)組(關(guān)聯(lián)數(shù)組), 就和你自己聲明的數(shù)組是一樣的操作方式
* 2. 全局
*
*
*/
echo count($_SERVER);
foreach($_SERVER as $key => $value) {
echo "{$key} => {$value} <br>";
}
例2.php
<?php
/*
* 超全局數(shù)組(變量), 在PHP的腳本中腌巾, 已經(jīng)聲明完的變量, 你可以直接就去使用即可! 變量的名子已經(jīng)規(guī)定好的了
*
*
* $_SERVER
* $_ENV
* $_GET
* $_POST
* $_REQUEST
* $_FILES
* $_COOKIE
* $_SESSION
* $GLOBALS
*
*
* 超 全局 數(shù)組
*
*
* 1. 數(shù)組(關(guān)聯(lián)數(shù)組), 就和你自己聲明的數(shù)組是一樣的操作方式
* 2. 全局
*
*
*/
$_GET=array("妹子", "峰哥");
function demo() {
// global $arr;
echo $_GET[0]."和".$_GET[1];
$_GET['username']="admin";
}
demo();
print_r($_GET);
例3 test.php
<?php
/*
* 超全局數(shù)組(變量), 在PHP的腳本中, 已經(jīng)聲明完的變量壤躲, 你可以直接就去使用即可! 變量的名子已經(jīng)規(guī)定好的了
*
*
* $_SERVER
* $_ENV
* $_GET
* $_POST
* $_REQUEST
* $_FILES
* $_COOKIE
* $_SESSION
* $GLOBALS
*
*
* 超 全局 數(shù)組
*
*
* 1. 數(shù)組(關(guān)聯(lián)數(shù)組), 就和你自己聲明的數(shù)組是一樣的操作方式
* 2. 全局
* 3. 每個預定義的數(shù)組都有自獨特的能力
*
*/
$_GET=array("妹子", "峰哥");
function demo() {
// global $arr;
echo $_GET[0]."和".$_GET[1];
$_GET['username']="admin";
}
demo();
print_r($_GET);