導航:首頁 > 編程語言 > php中的預定義變數

php中的預定義變數

發布時間:2022-08-20 13:54:08

1. php全局變數和php預定義變數

僅供參考,更多,可以查看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://www.example.com/test.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. 什麼是php 預定義變數

定義一個變數並初始化:$name = '';

可以初始化任意類型的數據。

3. php預定義變數有哪些

超全局變數 — 超全局變數是在全部作用域中始終可用的內置變數
$GLOBALS — 引用全局作用域中可用的全部變數
$_SERVER — 伺服器和執行環境信息
$_GET — HTTP GET 變數
$_POST — HTTP POST 變數
$_FILES — HTTP 文件上傳變數
$_REQUEST — HTTP Request 變數
$_SESSION — Session 變數
$_ENV — 環境變數
$_COOKIE — HTTP Cookies
$php_errormsg — 前一個錯誤信息
$HTTP_RAW_POST_DATA — 原生POST數據
$http_response_header — HTTP 響應頭
$argc — 傳遞給腳本的參數數目
$argv — 傳遞給腳本的參數數組

4. 在PHP中,預定義的常量和變數,是怎麼使用和輸出的

幾個 PHP 的「魔術常量」

__LINE__ :文件中的當前行號。

__FILE__ :文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。

__FUNCTION__ :函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。

__CLASS__ :類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。

__METHOD__ : 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。

5. PHP的預定義變數和常量都有什麼

PHP 在常量中定義了以下一些常量。
__FILE__
這個默認常量是 PHP 程序文件名。若引用文件 (include 或 require)則在引用文件內的該常量為引用文件名,而不是引用它的文件名。

__LINE__
這個默認常量是 PHP 程序行數。若引用文件 (include 或 require)則在引用文件內的該常量為引用文件的行,而不是引用它的文件行。

PHP_VERSION
這個內建常量是 PHP 程序的版本,如 '3.0.8-dev'。

PHP_OS
這個內建常量指執行 PHP 解析器的操作系統名稱,如 'Linux'。

TRUE
這個常量就是真值 (true)。

FALSE
這個常量就是偽值 (false)。

E_ERROR
這個常量指到最近的錯誤處。

E_WARNING
這個常量指到最近的警告處。

E_PARSE
本常式為解析語法有潛在問題處。

E_NOTICE
這個常式為發生不尋常但不一定是錯誤處。例如存取一個不存在的變數。

這些 E_ 開頭形式的常量,可以參考 error_reporting() 函數,有更多的相關說明。

當然在程序寫作時,以上的默認常量是不夠用。define() 的功能可以讓我們自行定義所需要的常量。見下例

<?php
define("COPYRIGHT", "Copyright &; 2000, netleader.126.com");
echo COPYRIGHT;
?>

6. PHP如何添加預定義常量或變數

常量使用define語句定義即可
全局變數可以定義到全局變數數組$GLOBALS中
參考手冊 : http://php.net/manual/zh/rese...
看題主的問法,感覺"環境變數"可能符合題主要求
nginx配置PHP server的時候可以增加以下指令
fastcgi_param CUSTOM_ENV_VAR "my_env_value";

之後只要是通過nginx訪問的PHP請求,在任何代碼中中使用 $_SERVER['CUSTOM_ENV_VAR'] 就能取到你需要的值
又或者在fastcgi的配置文件中增加一行:
env[CUSTOM_ENV_VAR]="my_env_value"

之後只要是php-fastcgi處理的PHP文件,都可以通過 getenv('CUSTOM_ENV_VAR'); 來獲取設置的值
如果題主確實打算不親自define而要得到類似E_ALL那樣的常量的話,就需要寫點C了
題主可以新建一個自己的擴展(或者直接隨便找個你會編譯的擴展也行),在PHP_MINIT_FUNCTION中使用以下宏來定義自己的常量
REGISTER_STRINGL_CONSTANT("MY_SITE_VERSION", "1.0", 3, CONST_PERSISTENT);

之後重新編譯PHP即可.

7. PHP中常用的幾個預定義的全局數組變數有哪些

PHP 提供了大量的預定義變數。由於許多變數依賴於運行的伺服器的版本和設置,及其它因素,所以並沒有詳細的說明文檔。一些預定義變數在 PHP 以命令行形式運行時並不生效。常用的預定義數組變數有$_POST,$_GET,$_REQUEST,$_COOKIE,$_SESSION,$_SERVER等,具體你可以參考php手冊,上面寫的很清楚。

8. 在php中,當前腳本的名稱記錄在預定義變數什麼中

__FILE__文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。
自PHP4.0.2起,__FILE__總是包含一個絕對路徑(如果是符號連接,則是解析後的絕對路徑),
而在此之前的版本有時會包含一個相對路徑。

非命令行運行:
'PHP_SELF'
當前執行腳本的文件名,與documentroot有關。
例如,在地址為http://example.com/test.php/foo.bar的腳本中使用$_SERVER['PHP_SELF']將得到/test.php/foo.bar。

9. php中的預定義變數能在單引號中的被解析嗎

當使用雙引號來括字元串時,PHP解釋器會對其進行變數替換、轉義等操作,如「 」,即使引號內沒有變數,PHP解釋器依然會對其進行檢查,因此如果你只想輸出一個基本的字元串,就用單引號吧,這樣會節省一些資源。當然,如果你需要進行變數替換的,那就必須用雙引號了,但其他情況下還是用單引號吧。例如:

$a='a';
echo"變數a=$a";
輸出:
變數a=a
單引號里不行
$a='a';
echo'變數a=$a';
輸出:
變數a=$a
閱讀全文

與php中的預定義變數相關的資料

熱點內容
二板股票源碼 瀏覽:440
度人經pdf 瀏覽:898
怎麼配置android遠程伺服器地址 瀏覽:956
java程序員看哪些書 瀏覽:939
什麼app可以免費和外國人聊天 瀏覽:793
pdf手寫筆 瀏覽:178
別永遠傷在童年pdf 瀏覽:986
愛上北斗星男友在哪個app上看 瀏覽:419
主力散戶派發源碼 瀏覽:669
linux如何修復伺服器時間 瀏覽:59
榮縣優途網約車app叫什麼 瀏覽:477
百姓網app截圖是什麼意思 瀏覽:226
php如何嵌入html 瀏覽:815
解壓專家怎麼傳輸 瀏覽:745
如何共享伺服器的網路連接 瀏覽:134
程序員簡易表白代碼 瀏覽:168
什麼是無線加密狗 瀏覽:64
國家反詐中心app為什麼會彈出 瀏覽:69
cad壓縮圖列印 瀏覽:104
網頁打開速度與伺服器有什麼關系 瀏覽:865