PHP預定義變數

PHP 預定義變數是對於全部腳本而言的,PHP 為腳本提供了大量的預定義變數。這些變數將所有的外部變數表示成內建環境變數,並且將錯誤信息表示成返回頭。

基本介紹

  • 中文名:PHP預定義變數
  • 外文名:superglobals
  • 提供:大量的預定義變數
  • 依賴:運行的伺服器的版本和設定
定義介紹,超級全局變數,注意事項,

定義介紹

php 提供了大量的預定義變數。由於許多變數依賴於運行的伺服器的版本和設定,及其它因素,所以並沒有詳細的說明文檔。一些預定義變數在 php 以命令行形式運行時並不生效。

超級全局變數

PHP中預定義了幾個"超級全局變數(superglobals) ,這意味著它們在一個腳本的全部作用域中都可用。 你不需要特別說明,就可以在函式及類中使用。
PHP 超級全局變數列表:
  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

注意事項

php 4.2.0 以及後續版本中,php 指令 register_globals 的默認值為 off。這是 php 的一個主要變化。讓 register_globals 的值為 off 將影響到預定義變數集在全局範圍內的有效性。例如,為了得到 DOCUMENT_ROOT 的值,將必須使用 $_SERVER['DOCUMENT_ROOT'] 代替 $DOCUMENT_ROOT,又如,使用 $_GET['id'] 來代替 $id 從中獲取 id 值,亦或使用 $_ENV['HOME'] 來代替 $HOME 獲取環境變數 HOME 的值。
更多相關信息,請閱讀 register_globals 的配置項條目,安全一章中的使用 Register Globals,以及 php 4.1.0 和 4.2.0 的發行通告。
如果有可用的 php 預定義變數那最好用,如超全局變數。
注: 當運行於命令行模式時,此數組將不會包含 argv 和 argc 條目;它們已經存在於數組 $_SERVER 中。
$_SESSION 當前註冊給腳本會話的變數。類似於舊數組 $HTTP_SESSION_VARS 數組(依然有效,但反對使用)。

相關詞條

熱門詞條

聯絡我們