1. 魔術常數
PHP中有八個魔術常數,它們的值會隨著它們在程式碼中的位置的改變而改變。這些特殊的常數不區分大小寫。
LINE :傳回檔案中的目前行號。也可寫成line。
FILE:傳回目前檔案的絕對路徑(包含檔案名稱)。
DIR:傳回目前檔案的絕對路徑(不包含檔案名稱),等價於 dirname(FILE)。
FUNCTION:傳回目前函數(或方法)的名稱。
CLASS:傳回目前的類別名稱(包括該類別的作用區域或命名空間)。
TRAIT:傳回目前的trait名稱(包含該trait的作用區域或命名空間)。
METHOD:傳回目前的方法名稱(包括類別名稱)。
NAMESPACE:傳回目前檔案的命名空間的名稱。
2. 預先定義常數
核心預定義常數:是在PHP的核心中就定義好了的常數。區分大小寫。
PHP_VERSION:傳回PHP的版本。
PHP_OS:傳回執行PHP解釋器的作業系統名稱。
PHP_EOL:系統換行符,Windows是(\r\n),Linux是(\n),MAC是(\r)。
標準預先定義常數:PHP預設定義的常數。區分大小寫。
M_PI:傳回圓周率π的值。
3. 預先定義變數
php 中的許多預定義變數都是"超全域的",這表示它們在一個腳本的全部作用域中都可用。在函數或方法中無需執行 global $variable, 就可以存取它們。
超全域變數是在全部作用域中始終可用的內建變數。
$GLOBALS:global全域變量,是一個包含了所有全域變數的組合數組,而全域變數的名稱就是該組合數組的鍵。
$_GET:HTTP GET 變量,透過 URL 參數傳遞給目前腳本的變數的數組。
$_POST:HTTP POST 變量,透過 HTTP POST 方式傳遞給目前腳本的變數的數組。
$_COOKIE:HTTP Cookies 變量,透過 HTTP Cookies 方式傳遞給目前腳本的變數的數組。
$_SESSION:session 變量,目前腳本可用的 SESSION 變數的數組。
$_REQUEST:HTTP Request 變量,預設包含了 $_GET,$_POST 和 $_COOKIE 的數組。
$_FILES:HTTP 檔案上傳變量,透過 HTTP POST 方式上傳到目前腳本的項目的陣列。
$_SERVER:伺服器資訊變量,包含了頭資訊(header)、路徑(path)、以及腳本位置(script locations)等資訊的數組。這個數組中的項目是由 Web 伺服器所建立。
$_ENV:環境變量,透過環境方式傳遞給目前腳本的變數的數組。
以上預定義變數都是超全域變數。
以下預定義變數都是非全域的。
$php_errormsg:前一個錯誤訊息,$php_errormsg 變數包含由 PHP 產生的最新錯誤訊息。這個變數只在錯誤發生的作用域內可用,並且要求 track_errors 配置項目是開啟的(預設是關閉的)。
$HTTP_RAW_POST_DATA:包含 POST 提交的原始資料。
$http_response_header:HTTP 回應頭,$http_response_header 陣列與 get_headers() 函數類似。使用HTTP包裝器時,$http_response_header 將會被 HTTP 回應頭資訊填入。
$argc:傳遞給腳本的參數數目,包含當執行於命令列下時傳遞給目前腳本的參數的數目。腳本的檔名總是傳遞給目前腳本,因此 $argc 的最小值為 1,這個變數只在 register_argc_argv 開啟時可用。
$argv:傳遞給腳本的參數數組,包含當運行於命令列下時傳遞給目前腳本的參數的數組。第一個參數總是目前腳本的檔名,因此 $argv[0] 就是腳本檔名,這個變數只在 register_argc_argv 開啟時可用。
以上是PHP中的魔術常數、預定義常數和預定義變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!