您好,登錄后才能下訂單哦!
本篇內容主要講解“php中全局數組的含義是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php中全局數組的含義是什么”吧!
PHP中全局數據的全稱是超全局數組或者超全局變量,是PHP中特殊定義的數組變量;超全局數組可以在腳本中的任何地方、任何作用域內都可以訪問,超全局數組變量是在全部作用域中始終可用的內置變量。
本文操作環境:Windows10系統、PHP8.1版、Dell G3電腦
php全局數組全稱“超全局數組”或“超全局變量”,是PHP中特殊定義的數組變量,之所以稱為超全局數組是因為這些數組在腳本中的任何地方、任何作用域內都可以訪問,如函數、類、文件等。
超全局數組變量是在全部作用域中始終可用的內置變量
PHP中的超全局數組包括以下幾個:
$GLOBALS
一個包含了全部變量的全局組合數組。變量的名字就是數組的鍵。
使用var_dump($GLOBALS)打印,就可以看出$GLOBALS是一個包含了所有的一個全局組合數組。
從 PHP 8.1.0 起,$GLOBALS 現在是全局符號表的只讀副本。 也就是說,全局變量不能通過副本進行修改。 在之前的版本中,$GLOBALS 數組和 PHP 數組通常傳值的行為不一樣,全局變量可通過副本修改。
PHP 8.1.0 之前:
$a = 1;$globals = $GLOBALS; // 表面意義的按值復制$globals['a'] = 2; // $GLOBALS['a'] 的值也相應修改 var_dump($a);//運行結果: int(2)
從 PHP 8.1.0 起:
$a = 1;$globals = $GLOBALS; //表面意義的按值復制$globals['a'] = 2; // $GLOBALS['a'] 的值不會改變(不再修改 $a) var_dump($a);//運行結果: int(1)
要恢復以前的行為,請迭代其副本并將每個屬性分配回 $GLOBALS:
foreach ($globals as $key => $value) { $GLOBALS[$key] = $value;}
$_SERVER
$_SERVER——服務器和執行環境信息。$_SERVER是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數組。這個數組中的項目由 Web 服務器創建。
$_GET
通過 URL 參數傳遞給當前腳本的變量的數組。注意:該數組不僅僅對 method 為 GET 的請求生效,而是會針對所有帶 query string 的請求。
$_POST
預定義的 $_POST 變量用于收集來自 method="post" 的表單中的值。
當 HTTP POST 請求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 時,會將變量以關聯數組形式傳入當前腳本。
從帶有 POST 方法的表單發送的信息,對任何人都是不可見的(不會顯示在瀏覽器的地址欄),并且對發送信息的量也沒有限制。
注釋:然而,默認情況下,POST 方法的發送信息的量最大值為 8 MB(可通過設置 php.ini 文件中的 post_max_size 進行更改)。
$_REQUEST
默認情況下包含了 $_GET,$_POST 和 $_COOKIE 的數組。由于安全的問題,建議盡量避免使用$_REQUEST。
$_COOKIE
通過 HTTP Cookies 方式傳遞給當前腳本的變量的數組。
$_SESSION
當前腳本可用 SESSION 變量的數組。
$_FILES
通過 HTTP POST 方式上傳到當前腳本的項目的數組。
$_ENV
通過環境方式傳遞給當前腳本的變量的數組。
這些變量被從 PHP 解析器的運行環境導入到 PHP 的全局命名空間。很多是由支持 PHP 運行的 Shell 提供的,并且不同的系統很可能運行著不同種類的 Shell,所以不可能有一份確定的列表。請查看你的 Shell 文檔來獲取定義的環境變量列表。
其他環境變量包含了 CGI 變量,而不管 PHP 是以服務器模塊還是 CGI 處理器的方式運行。
到此,相信大家對“php中全局數組的含義是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。