PHP 全域變數 - 超全域變數
PHP 中的許多預定義變數都是“超全域的”,這意味著它們在一個腳本的全部作用域中都可用。在函數或方法中無需執行 global $variable; 就可以存取它們。
這些超全域變數是:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
_SESSION本節會介紹一些超全域變量,並會在稍後的章節中講解其他的超全域變數。 $GLOBALS — 引用全域作用域中可用的全部變數$GLOBALS 這種全域變數用於在 PHP 腳本中的任意位置存取全域變數(從函數或方法中均可)。 PHP 在名為 $GLOBALS[index] 的陣列中儲存了所有全域變數。變數的名字就是數組的鍵。 下面的例子展示瞭如何使用超級全域變數$GLOBALS:實例<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>運行實例在上面的例子中,由於z 是$GLOBALS 數組中的變量,因此在函數之外也可以訪問它。 PHP $_SERVER$_SERVER 這個超全域變數會保存關於報頭、路徑和腳本位置的資訊。 下面的範例展示如何使用$_SERVER 中的某些元素:實例
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_REFERER']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; ?>運行實例下表列出了您能夠在$_SERVER 中訪問的最重要的元素:元素/代碼描述$_SERVER['PHP_SELF'] 傳回目前執行腳本的檔案名稱。 $_SERVER['GATEWAY_INTERFACE'] 傳回伺服器所使用的 CGI 規範的版本。 $_SERVER['SERVER_ADDR'] 傳回目前執行腳本所在的伺服器的 IP 位址。 $_SERVER['SERVER_NAME'] 傳回目前執行腳本所在的伺服器的主機名稱(例如 www.w3school.com.cn)。 $_SERVER['SERVER_SOFTWARE'] 傳回伺服器識別字串(如 Apache/2.2.24)。 $_SERVER['SERVER_PROTOCOL'] 傳回請求頁面時通訊協定的名稱和版本(例如,「HTTP/1.0」)。 $_SERVER['REQUEST_METHOD'] 傳回存取頁面所使用的請求方法(例如 POST)。 $_SERVER['REQUEST_TIME'] 傳回請求開始時的時間戳記(例如 1577687494)。 $_SERVER['QUERY_STRING'] 傳回查詢字串,如果是透過查詢字串存取此頁面。 $_SERVER['HTTP_ACCEPT'] 傳回來自目前要求的請求頭。 $_SERVER['HTTP_ACCEPT_CHARSET'] 傳回來自目前要求的 Accept_Charset 頭( 例如 utf-8,ISO-8859-1)$_SERVER['HTTP_HOST'] 傳回來自目前請求的 Host 頭。 $_SERVER['HTTP_REFERER'] 傳回目前頁面的完整 URL(不可靠,因為不是所有使用者代理程式都支援)。 $_SERVER['HTTPS'] 是否透過安全 HTTP 協定查詢腳本。 $_SERVER['REMOTE_ADDR'] 傳回瀏覽目前頁面的使用者的 IP 位址。 $_SERVER['REMOTE_HOST'] 傳回瀏覽目前頁面的使用者的主機名稱。 $_SERVER['REMOTE_PORT'] 傳回用戶機器上連接到 Web 伺服器所使用的連接埠號碼。 $_SERVER['SCRIPT_FILENAME'] 傳回目前執行腳本的絕對路徑。 $_SERVER['SERVER_ADMIN'] 該值指明了 Apache 伺服器設定檔中的 SERVER_ADMIN 參數。 $_SERVER['SERVER_PORT'] Web 伺服器使用的連接埠。預設值為 “80”。 $_SERVER['SERVER_SIGNATURE'] 傳回伺服器版本和虛擬主機名稱。 $_SERVER['PATH_TRANSLATED'] 目前腳本所在檔案系統(非文檔根目錄)的基本路徑。 $_SERVER['SCRIPT_NAME'] 傳回目前腳本的路徑。 $_SERVER['SCRIPT_URI'] 傳回目前頁面的 URI。 PHP $_REQUESTPHP $_REQUEST 用來收集 HTML 表單提交的資料。 下面的範例展示了一個包含輸入欄位及提交按鈕的表單。當使用者透過點擊提交按鈕來提交表單資料時, 表單資料將發送到