6.PHP 超全局變量$GLOBALS 包含一個(gè)引用指向每個(gè)當(dāng)前腳本的全局范圍內(nèi)有效的變量。該數(shù)組的鍵標(biāo)為全局變量的 名稱。從 PHP 3 開始存在 $GLOBALS 數(shù)組。
超全局變量$GLOBALS有以下種類$_SERVER : 變量由 Web 服務(wù)器設(shè)定或者直接與當(dāng)前腳本的執(zhí)行環(huán)境相關(guān)聯(lián)。類似于舊數(shù)組 $HTTP_SERVER_VARS 數(shù)組(依然有效,但反對(duì)使用)。
$_GET : 經(jīng)由 HTTP GET 方法提交至腳本的變量。
$_POST : 經(jīng)由 HTTP POST 方法提交至腳本的變量。
$_COOKIE : 經(jīng)由 HTTP Cookies 方法提交至腳本的變量。
$_FILES : 經(jīng)由 HTTP POST 文件上傳而提交至腳本的變量。注意文件上傳表單中要有 enctype="multipart/form-data"
$_ENV : 執(zhí)行環(huán)境提交至腳本的變量。
$_REQUEST :經(jīng)由 GET,POST 和 COOKIE 機(jī)制提交至腳本的變量,因此該數(shù)組并不值得信任。所有包含在該數(shù)組中的變量的存在與否以及變量的順序均按照 php.ini 中的 variables_order 配置指示來定義。該數(shù)組沒有直接模擬 PHP 4.1.0 的早期版本。參見 import_request_variables()。
注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。
$_SESSION :當(dāng)前注冊給腳本會(huì)話的變量。
7.定義常量define("CONSTANT", "Hello world.");常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float 和 string)。
調(diào)用常量時(shí),只需要簡單的用名稱取得常量的值,而不能加“$”符號(hào),如:echo CONSTANT;
注: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
常量只能用define(常量名,常量值);
常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float 和 string)。
可以簡單的通過指定其名字來取得常量的值,不要在常量前面加上 $ 符號(hào)。如果常量名是動(dòng)態(tài)的,也可以用函數(shù)
constant() 來讀取常量的值。用 get_defined_constants() 可以獲得所有已定義的常量列表。
注: 常量和(全局)變量在不同的名字空間中。這意味著例如 TRUE 和 $TRUE 是不同的。
如果使用了一個(gè)未定義的常量,PHP 假定想要的是該常量本身的名字,如同用字符串調(diào)用它一樣(CONSTANT 對(duì)應(yīng) "CONSTANT")。此時(shí)將發(fā)出一個(gè) E_NOTICE 級(jí)的錯(cuò)誤。參見手冊中為什么 $w3sky[bar] 是錯(cuò)誤的(除非事先用 define() 將 bar 定義為一個(gè)常量)。如果只想檢查是否定義了某常量,用 defined() 函數(shù)。
常量和變量不同:
* 常量前面沒有美元符號(hào)($);
* 常量只能用 define() 函數(shù)定義,而不能通過賦值語句;
* 常量可以不用理會(huì)變量范圍的規(guī)則而在任何地方定義和訪問;
* 常量一旦定義就不能被重新定義或者取消定義;
* 常量的值只能是標(biāo)量。
定義常量
本文版權(quán)歸黑馬程序員
php培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:黑馬程序員php培訓(xùn)學(xué)院