標籤:變數命名 命名規則 變化 cookie glob 範圍 絕對路徑 語言 數字類型
1.變數定義:
變數是指在程式執行過程中數值可以變化的量。變數通過一個名字(變數名)來標識。系統為程式中的每一個變數分配一個儲存單元,變數名實質就是電腦記憶體單元的命名。因此,藉助變數名可以訪問記憶體中的資料。
2.變數聲明和定義:
和很多語言不同,在PHP中使用變數之前不需要聲明變數(在PHP4之前需要聲明變數),只需為變數賦值即可。PHP中的變數名稱用$和標識表示,變數名是區分大小寫。變數賦值,是指給變數一個具體的資料值,對於字串和數字類型的變數,可以通過“”=“”來實現賦值,當然對變數賦值要遵循變數命名規則。除了直接賦值以外,還有另外兩種方式,一種是變數間的賦值,另外一種是引用賦值,即用不同的名字訪問同一個變數內容,而當改變其中一個變數的值時,另一個也跟著發生變化,引用賦值使用“”&“”符號來表示引用。
3.變數的範圍:
變數在使用時,要符合變數的定義規則。變數必須在有效範圍內使用,如果變數超出有效範圍,則變數也就失去其意義了。變數的範圍如下:
局部變數:在函數的內部定義的變數,其範圍是所在函數,在退出聲明變數的函數時,該變數及相應的值就會被清除;
全域變數:被定義在所有函數以外的變數,其範圍是整個PHP檔案,但在使用者自訂函數內部是停用。如果希望在使用者自訂函數內部使用全域變數,則要使用global關鍵字聲明全域變數;
靜態變數:能夠在函數調用結束後仍保留變數值,當再次回到其範圍時,又可以繼續使用原來的值。而一般變數是在函數調用結束後,其儲存的資料值即被解除,所佔的記憶體空間也被釋放。使用靜態變數時,先要用關鍵字static來聲明變數,把關鍵字static放在要定義的變數之前。
4.可變變數:
可變變數是一種奇特的變數,它允許動態改變一個變數名稱。其工作原理是該變數的名稱由另外一個變數的值來確定,實現過程就是在變數的前面再多加一個貨幣符號“$”。
5.PHP預定義變數:
PHP還提供了很多實用的預定義變數,通過這些預定義變數可以擷取到使用者回話,使用者作業系統的環境和本地作業系統的環境等資訊。常用的預定義變數如下:
變數的名稱 說明
$_SERVER[‘SERVER_ADDR‘] 當前運行指令碼所在的伺服器地IP地址
$_SERVER[‘SERVER_NAME‘] 當前運行指令碼所在伺服器主機的名稱。如果該指令碼運行在一個虛擬機器主機上,則該名稱是由虛擬機器主機所設定的值決定。
$_SERVER[‘REQUEST_METHOD‘] 訪問頁面時的要求方法。如GET,HEAD,POST,PUT等,如果請求的方式是HEAD,PHP指令碼將在輸出頭資訊後中止(這意味著在產生任何輸出後,不再有輸出緩衝)
$_SERVER[‘REMOTE_ADDR‘] 正在瀏覽當前頁面使用者的IP地址
$_SERVER[‘REMOTE_HOST‘] 正在瀏覽當前頁面使用者的主機名稱。反向網域名稱解析基於該使用者的REMOTE_ADDR
$_SERVER[‘REMOTE_PORT‘] 使用者串連到伺服器時所使用的連接埠
$_SERVER[‘SCRIPT_FILENAME‘] 當前執行指令碼的絕對路徑名。注意,如果指令碼在CLI中被執行,作為相對路徑,如file.php或者.../file.php,$_SERVER[‘SCRIPT_FILENAME‘]將包含使用者指定的相對路徑。
$_SERVER[‘SERVER_PORT‘] 伺服器所使用的連接埠,預設為80,如果使用SSL安全連線,則這個值為使用者佈建的HTTP連接埠
S_SERVER[‘SERVER_SIGNATRUE‘] 包含伺服器版本和虛擬機器名的字串
$_SERVER[‘DOCUMENT_ROOT‘] 當前運行指令碼所在的主目錄。在伺服器設定檔中定義
$_COOKIE 通過HTTPCookie傳遞到指令碼的資訊。這些cookie多數是由執行PHP指令碼時通過setcookie()函數設定的
$_SESSION 包含與所有回話變數有關的資訊。$_SESSION變數主要應用於回話控制和頁面之間值的傳遞
$_POST 包含通過POST方法傳遞的參數的相關資訊。主要用於擷取通過POST方法提交的資料
$_GET 包含通過GET方法傳遞的參數的相關資訊。主要用於擷取通過GET方法提交的資料
$GLOBALS 由所有已定義全域變數組成的數組。變數名就是該數組的索引。它可以稱當上是所有超級變數的超級集合
php,變數