在PHP程式設計時,有些訊息是屬於網站本身的相關資訊或是一些由網站伺服器所提供出來的資訊,這些資訊是被儲放在超級全域變數(Superglobals)中,這些變數是由網頁伺服器所維護及更新,在程式中使用不需要任何的宣告以及設定,可以直接拿來使用,而它們的影響力也可以橫跨多個程式檔案。
這些全或變數均以全大寫的型式呈現,主要有以下幾個:
超級全域變數名稱 | 主要功用 |
$GLOBAL | 屬於檔案等級的全域變數,在PHP程式中可以透過此變數進行設定及操作,此變數的內容可以在任一函數中存取到相同的變數內容。 |
$_SERVER | 目前的路徑、標頭、以及檔案位置相關資訊。 |
$_POST | 儲存POST請求的相關資訊。 |
$_GET | 儲存GET請求的相關資訊。 |
$_FILES | 用來接收上傳的檔案資料。 |
$_REQUEST | 用來提取送交後之表單資料參數。 |
$_ENV | 目前腳本所使用的環境變數。 |
$_COOKIE | 用來存取COOKIE |
$_SESSION | 用來存取SESSION資訊 |
$GLOBAL的範例程式如下:
<?php
$x = 100;
$y = 200;
function myfunc() {
$x = 50;
$y = 50;
echo $GLOBALS["x"] + $GLOBALS["y"] . "<br/>";
echo "The sum for local variables:";
echo $x+$y;
}
myfunc();
?>
上述的程式在一開始的時候定義了2個變數,此2變數在myfunc()函數中要利用$GLOBALS才能夠存取得到。如果沒有使用$GLOBALS的話,那麼直接取用$x和$y時得到的就是在函數內所定義的區域變數。
上述程式執行的結果如下:
300
The sum for local variables:100
PHP的超級全域變數 有 “ 1 則迴響 ”