php全域性變數和php預定義變數

2021-12-16 15:44:38 字數 2580 閱讀 6160

1樓:匿名使用者

僅供參考,更多,可以檢視http://www.phpsu.com/

預定義變數

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

有關這些變數的詳細列表,請參閱預定義變數一章。

warning

php 4.2.0 以及後續版本中,php 指令 register_globals 的預設值為 off。

這是 php 的乙個主要變化。讓 register_globals 的值為 off 將影響到預定義變數集在全域性範圍內的有效性。例如,為了得到 document_root 的值,將必須使用 $_server['document_root'] 代替 $document_root,又如,使用 $_get['id'] 來代替 $id 從 url http:

php?id=3 中獲取 id 值,亦或使用 $_env['home'] 來代替 $home 獲取環境變數 home 的值。

更多相關資訊,請閱讀 register_globals 的配置項條目,安全一章中的使用 register globals,以及 php » 4.1.0 和 » 4.

2.0 的發行通告。

如果有可用的 php 預定義變數那最好用,如超全域性變數。

從 php 4.1.0 開始,php 提供了一套附加的預定陣列,這些陣列變數包含了來自 web 伺服器(如果可用),執行環境,和使用者輸入的資料。

這些陣列非常特別,它們在全域性範圍內自動生效,例如,在任何範圍內自動生效。因此通常被稱為自動全域性變數(autoglobals)或者超全域性變數(superglobals)。(php 中沒有使用者自定義超全域性變數的機制。

)超全域性變數羅列於下文中;但是為了得到它們的內容和關於 php 預定義變數的進一步的討論以及它們的本質,請參閱預定義變數。而且,你也將注意到舊的預定義陣列($http_*_vars)仍舊存在。自 php 5.

0.0 起,長格式的 php 預定義變數可以通過設定 register_long_arrays 來遮蔽。

note: 可變變數 超級全域性變數不能被用作可變變數。

note: 儘管超全域性變數和 http_*_vars 同時存在。但是他們並不是同乙個變數,所以改變乙個的值並不會對另乙個產生影響。

如果某些 variables_order 中的變數沒有設定,它們的對應的 php 預定義陣列也是空的。

php 超全域性變數

$globals

包含乙個引用指向每個當前指令碼的全域性範圍內有效的變數。該陣列的鍵名為全域性變數的名稱。從 php 3 開始存在 $globals 陣列。

$_server

變數由 web 伺服器設定或者直接與當前指令碼的執行環境相關聯。類似於舊陣列 $http_server_vars 陣列(依然有效,但反對使用)。

$_get

經由 url 請求提交至指令碼的變數。類似於舊陣列 $http_get_vars 陣列(依然有效,但反對使用)。

$_post

經由 http post 方法提交至指令碼的變數。類似於舊陣列 $http_post_vars 陣列(依然有效,但反對使用)。

$_cookie

經由 http cookies 方法提交至指令碼的變數。類似於舊陣列 $http_cookie_vars 陣列(依然有效,但反對使用)。

$_files

經由 http post 檔案上傳而提交至指令碼的變數。類似於舊陣列 $http_post_files 陣列(依然有效,但反對使用)。詳細資訊請參閱 post 方法上傳。

$_env

執行環境提交至指令碼的變數。類似於舊陣列 $http_env_vars 陣列(依然有效,但反對使用)。

$_request

經由 get,post 和 cookie 機制提交至指令碼的變數,因此該陣列並不值得信任。所有包含在該陣列中的變數的存在與否以及變數的順序均按照 php.ini 中的 variables_order 配置指示來定義。

此陣列在 php 4.1.0 之前沒有直接對應的版本。

參見 import_request_variables()。

caution

自 php 4.3.0 起,$_files 中的檔案資訊不再存在於 $_request 中。

note: 當執行於命令列模式時,此陣列將不會包含 argv 和 argc 條目;它們已經存在於陣列 $_server 中。

$_session

當前註冊給指令碼會話的變數。類似於舊陣列 $http_session_vars 陣列(依然有效,但反對使用)。

2樓:

如果你是本機測試我推薦你用整合包

整合安裝包

xampp 還是不錯 推薦

php 區域性變數如何訪問全域性變數

3樓:匿名使用者

<?php

$arr = array( 0,1,2,3 );

function tojsarr()

?>

全域性變數和區域性變數的區別,全域性變數 靜態全域性變數 靜態區域性變數和區域性變數的區別

一 用途不同 全域性變數 描述物件有什麼 在類中定義 類中所有方法都可以使用。區域性變數 臨時儲存資料 在類的方法中定義 只能在當前方法中使用。二 使用不同 全域性變數 整個類中可用 區域性變數 該方法內可用 三 初始值不同 全域性變數 有初始值 區域性變數 無初始值 擴充套件資料 使用全域性變數會...

Paracraft中,變數與全域性變數的定義

本地變數的作用 範圍只限當前 方塊,即使多個 方塊共用乙個電影方塊,每個 方塊的本地變數作用範圍也只是單個 方塊 如圖中第1處所示 全域性變數的作用範圍是整個世界的 方塊,在某個 方塊中定義了全域性變數並執行該 方塊後,在整個世界中建立的 方塊中都能看到該全域性變數並使用。在程式設計中是什麼意思 是...

JSP中區域性變數和全域性變數的作用範圍

jsp中的區域性和全域性變數定義方法 全域性變數的定義方法 變數型別 變數名 如,定義一個int型的全域性變數a寫法如下 int a 區域性變數定義方法 變數型別 變數名 如,定義一個string型的區域性變數b寫法如下 string sign 1 其實你換種方式看,jsp最終會轉譯成servelt...