
- PHP 教程
- PHP - 首頁
- PHP - 簡介
- PHP - 安裝
- PHP - 歷史
- PHP - 特性
- PHP - 語法
- PHP - Hello World
- PHP - 註釋
- PHP - 變數
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 變數
- PHP - 常量
- PHP - 魔術常量
- PHP - 資料型別
- PHP - 型別轉換
- PHP - 型別混淆
- PHP - 字串
- PHP - 布林值
- PHP - 整數
- PHP - 檔案與 I/O
- PHP - 數學函式
- PHP - Heredoc & Nowdoc
- PHP - 複合型別
- PHP - 檔案包含
- PHP - 日期與時間
- PHP - 標量型別宣告
- PHP - 返回型別宣告
- PHP 運算子
- PHP - 運算子
- PHP - 算術運算子
- PHP - 比較運算子
- PHP - 邏輯運算子
- PHP - 賦值運算子
- PHP - 字串運算子
- PHP - 陣列運算子
- PHP - 條件運算子
- PHP - 展開運算子
- PHP - 空值合併運算子
- PHP - 鍵空間運算子
- PHP 控制語句
- PHP - 決策制定
- PHP - If…Else 語句
- PHP - Switch 語句
- PHP - 迴圈型別
- PHP - For 迴圈
- PHP - Foreach 迴圈
- PHP - While 迴圈
- PHP - Do…While 迴圈
- PHP - Break 語句
- PHP - Continue 語句
- PHP 函式
- PHP - 函式
- PHP - 函式引數
- PHP - 按值傳遞
- PHP - 按引用傳遞
- PHP - 預設引數
- PHP - 具名引數
- PHP - 可變引數
- PHP - 返回值
- PHP - 傳遞函式
- PHP - 遞迴函式
- PHP - 型別提示
- PHP - 變數作用域
- PHP - 嚴格型別
- PHP - 匿名函式
- PHP - 箭頭函式
- PHP - 可變函式
- PHP - 區域性變數
- PHP - 全域性變數
- PHP 超全域性變數
- PHP - 超全域性變數
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 檔案處理
- PHP - 檔案處理
- PHP - 開啟檔案
- PHP - 讀取檔案
- PHP - 寫入檔案
- PHP - 檔案是否存在
- PHP - 下載檔案
- PHP - 複製檔案
- PHP - 追加檔案
- PHP - 刪除檔案
- PHP - 處理 CSV 檔案
- PHP - 檔案許可權
- PHP - 建立目錄
- PHP - 列出檔案
- 面向物件 PHP
- PHP - 面向物件程式設計
- PHP - 類和物件
- PHP - 建構函式和解構函式
- PHP - 訪問修飾符
- PHP - 繼承
- PHP - 類常量
- PHP - 抽象類
- PHP - 介面
- PHP - 特性
- PHP - 靜態方法
- PHP - 靜態屬性
- PHP - 名稱空間
- PHP - 物件迭代
- PHP - 封裝
- PHP - Final 關鍵字
- PHP - 過載
- PHP - 克隆物件
- PHP - 匿名類
- PHP Web 開發
- PHP - Web 概念
- PHP - 表單處理
- PHP - 表單驗證
- PHP - 表單郵件/URL
- PHP - 完整表單
- PHP - 檔案包含
- PHP - GET & POST
- PHP - 檔案上傳
- PHP - Cookie
- PHP - Session
- PHP - Session 選項
- PHP - 傳送郵件
- PHP - 對輸入進行清理
- PHP - Post-Redirect-Get (PRG)
- PHP - 快閃記憶體訊息
- PHP 高階
- PHP - MySQL
- PHP.INI 檔案配置
- PHP - 陣列解構
- PHP - 編碼規範
- PHP - 正則表示式
- PHP - 錯誤處理
- PHP - Try…Catch
- PHP - Bug 除錯
- PHP - 針對 C 開發人員
- PHP - 針對 PERL 開發人員
- PHP - 框架
- PHP - Core PHP 與框架
- PHP - 設計模式
- PHP - 過濾器
- PHP - JSON
- PHP - 異常
- PHP - 特殊型別
- PHP - 雜湊
- PHP - 加密
- PHP - is_null() 函式
- PHP - 系統呼叫
- PHP - HTTP 認證
- PHP - 交換變數
- PHP - Closure::call()
- PHP - 過濾後的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望
- PHP - Use 語句
- PHP - 整數除法
- PHP - 已棄用的特性
- PHP - 已移除的擴充套件和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 程序
- PHP - PDO 擴充套件
- PHP - 內建函式
PHP - 全域性變數
在 PHP 中,任何可以在 PHP 指令碼中的任何位置訪問的變數都稱為全域性變數。如果變數在指令碼中所有函式或類之外宣告,則它成為全域性變數。
雖然全域性變數可以直接在函式外部訪問,但它們在函式內部不會自動可用。
示例
在下面的指令碼中,$name 對函式sayhello()是全域性的。
<?php $name = "Amar"; function sayhello() { echo "Hello " . $name; } sayhello(); ?>
但是,在函式內部無法訪問該變數。因此,您將收到錯誤訊息“未定義變數 $name”。
Hello PHP Warning: Undefined variable $name in /home/cg/root/93427/main.php on line 5
示例
要在函式內部獲取訪問許可權,您需要在變數之前使用“global”關鍵字。
<?php $name = "Amar"; function sayhello() { GLOBAL $name; echo "Hello " . $name; } sayhello(); ?>
它將產生以下輸出:
Hello Amar
如果函式訪問全域性變數並修改它,則在函式呼叫完成後,修改後的值在任何地方都可用。
讓我們在sayhello()函式內部更改$name的值,並在函式呼叫後檢查其值。
示例
請檢視以下示例:
<?php $name = "Amar"; function sayhello() { GLOBAL $name; echo "Global variable name: $name" .PHP_EOL; $name = "Amarjyot"; echo "Global variable name changed to: $name" .PHP_EOL; } sayhello(); echo "Global variable name after function call: $name" .PHP_EOL; ?>
它將產生以下輸出:
Global variable name: Amar Global variable name changed to: Amarjyot Global variable name after function call: Amarjyot
$GLOBALS 陣列
PHP 維持一個名為$GLOBALS的關聯陣列,該陣列儲存全域性範圍內宣告的所有變數及其值。$GLOBALS 陣列還儲存許多稱為超全域性變數的預定義變數,以及使用者定義的全域性變數。
任何全域性變數也可以在任何函式內部使用訪問箭頭元素的常規語法進行訪問。例如,全域性變數$name的值由$GLOBALS["name"]給出。
示例
在下面的示例中,兩個全域性變數 $x 和 $y 在 addition() 函式內部訪問。
<?php $x = 10; $y = 20; function addition() { $z = $GLOBALS['x']+$GLOBALS['y']; echo "Addition: $z" .PHP_EOL; } addition(); ?>
它將產生以下輸出:
Addition: 30
示例
您還可以透過將其新增到 $GLOBALS 陣列中,將任何區域性變數新增到全域性作用域中。讓我們將$z新增到全域性作用域中。
<?php $x = 10; $y = 20; function addition() { $z = $GLOBALS['x']+$GLOBALS['y']; $GLOBALS['z'] = $z; } addition(); echo "Now z is the global variable. Addition: $z" .PHP_EOL; ?>
它將產生以下輸出:
Now z is the global variable. Addition: 30
在一個 PHP 指令碼中包含另一個 PHP 指令碼
您可以在一個 PHP 指令碼中包含另一個 PHP 指令碼。在包含的指令碼中宣告的變數將新增到包含它的 PHP 指令碼的全域性作用域中。
這是“a.php”檔案:
<?php include 'b.php'; function addition() { $z = $GLOBALS['x']+$GLOBALS['y']; echo "Addition: $z" .PHP_EOL; } addition(); ?>
它包含“b.php”,其中包含$x和$y變數,因此它們成為“a.php”指令碼中addition()函式的全域性變數。
<?php $x = 10; $y = 20; ?>
全域性變數通常在實現單例模式、訪問嵌入式系統中的暫存器以及許多函式正在使用變數時使用。