## 預定義變量
PHP提供了大量的預定義變量。由于許多變量依賴于運行的服務器的版本和設置,及其他因素,所以并沒有詳細的說明文檔。一些預定義變量在PHP以[命令行](http://php.net/manual/zh/features.commandline.php)形式運行時并不生效。有關這些變量的詳細列表,請參閱[預定義變量](http://php.net/manual/zh/reserved.variables.php)一章。
> **Warning**
> PHP 4.2.0 以及后續版本中,PHP 指令 [register\_globals](http://php.net/manual/zh/ini.core.php#ini.register-globals) 的默認值為 *off*。這是 PHP 的一個主要變化。讓 register\_globals 的值為 *off* 將影響到預定義變量集在全局范圍內的有效性。例如,為了得到 DOCUMENT\_ROOT 的值,將必須使用 [$\_SERVER\['DOCUMENT\_ROOT'\]](http://php.net/manual/zh/reserved.variables.server.php) 代替 $DOCUMENT\_ROOT,又如,使用 [$\_GET\['id'\]](http://php.net/manual/zh/reserved.variables.get.php) 來代替 $id 從 URL *http://www.example.com/test.php?id=3* 中獲取 id 值,亦或使用 [$\_ENV\['HOME'\]](http://php.net/manual/zh/reserved.variables.environment.php) 來代替 $HOME 獲取環境變量 HOME 的值。
從PHP4.1.0開始,PHP提供了一套附加的預定數組 ,這些數組變量包含了來自web服務(如果可用),運行環境,和用戶輸入的數據。這些數組非常特別,它們在全局范圍內自動生效,例如,在任何范圍內自動生效。因此通常被稱為自動全局變量(autoglobals)或者超全局變量(superglobals)。(PHP中沒有用戶自定義超全局變量的機制。)超全局變量羅列于下文中;但是為了得到它們的內容和關于PHP預定義變量的進一步的討論以及它們的 本質,請參閱[預定義變量](http://php.net/manual/zh/reserved.variables.php)。而且,你也將注意到舊的預定義數組($HTTP\_\*\_VARS)仍舊存在。自 PHP 5.0.0 起, 用 [register\_long\_arrays](http://php.net/manual/zh/ini.core.php#ini.register-long-arrays) 設置選項可禁用 長類型的 PHP [預定義變量](http://php.net/manual/zh/language.variables.predefined.php)數組。
> Note: 可變變量 超級全局變量不能被用作函數或類方法中的[可變變量](http://php.net/manual/zh/language.variables.variable.php)。
> Note:盡管超全局變量和HTTP_*_VARS同時存在,但是它們并不是同一個變量,所以改變其中一個的值并不會對另一個產生影響。
如果某些[variables\_order](http://php.net/manual/zh/ini.core.php#ini.variables-order)中的變量沒有設定,它們的對應的PHP預定義數組也是空的。
- 序言
- 簡介
- PHP是什么?
- PHP能做什么?
- 基本語法
- 類型
- boolean(布爾型)
- integer(整型)
- float(浮點型)
- string(字符串)
- array(數組)
- object(對象)
- callable(可調用)
- resource(資源)
- NULL(無類型)
- 偽類型
- 類型轉換的判別
- 變量
- 基礎
- 預定義變量
- 變量范圍
- 可變變量
- 來自PHP之外的變量
- 常量
- 語法
- 魔術常量
- 表達式
- 運算符
- 運算符優先級
- 算術運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 流程控制
- if
- else
- elseif/else if
- 流程控制的替代語法
- while
- do-whille
- for
- foreach
- break
- continue
- switch
- declare
- return
- require
- include
- require_once
- include_once
- goto
- 函數
- 用戶自定義函數
- 函數的參數
- 返回值
- 可變函數
- 內部 (內置)函數
- 匿名函數
- 類與對象
- 簡介
- 基本概念
- 屬性
- 類的自動加載
- 構造函數
- 訪問控制(可見性)