目錄
php中全域陣列是什麼意思
首頁 後端開發 PHP問題 php中全域數組是什麼意思

php中全域數組是什麼意思

Sep 20, 2022 pm 05:15 PM
php

PHP中全域資料的全名為超全域數組或超全域變量,是PHP中特殊定義的數組變數;超全域數組可以在腳本中的任何地方、任何作用域內都可以訪問,超全局數組變數是在全部作用域中始終可用的內建變數。

php中全域數組是什麼意思

本文操作環境:Windows10系統、PHP8.1版、Dell G3電腦

php中全域陣列是什麼意思

#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影片教學

以上是php中全域數組是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles