在 PHP 中宣告全域性變數

Subodh Poudel 2023年1月30日
  1. 在 PHP 中使用 global 關鍵字在區域性範圍內宣告全域性變數
  2. PHP 中使用 $GLOBALS 超級全域性變數在區域性範圍內使用全域性變數
  3. 在 PHP 中使用 define() 函式定義一個常量全域性變數
在 PHP 中宣告全域性變數

我們將介紹一種在 PHP 中使用 global 關鍵字宣告全域性變數的方法。此方法將在函式外部宣告的變數的全域性範圍設定為區域性範圍以使用函式內部的變數。

本文將演示另一種使用 $GLOBALS 超級全域性變數在 PHP 中宣告全域性變數的方法。該方法將使用超級全域性變數來訪問區域性範圍內的全域性變數。

我們還將演示另一種使用 define() 函式在 PHP 中宣告全域性變數的方法。這個方法是在 PHP 中宣告一個常量全域性變數的一種方式。我們不能改變常量的值。

在 PHP 中使用 global 關鍵字在區域性範圍內宣告全域性變數

我們可以使用 global 關鍵字在 PHP 的區域性範圍內宣告一個全域性變數。global 關鍵字將全域性作用域設定為區域性作用域的變數。我們可以在函式外定義一個變數。當我們嘗試訪問函式內部的變數時,變數的全域性範圍不會讓我們。所以我們可以在函式內部使用 global 關鍵字和變數。然後,我們可以訪問函式內部的變數。

例如,建立一個變數 $crypto 併為其分配 Bitcoin。然後,建立一個函式 body()。在函式內部,在 $crypto 變數之前使用 global 關鍵字。使用 echo 語句列印 $crypto 變數並使用 . 點運算子連線字串 is a top cryptocurrency.。在函式體之外,呼叫 body() 函式。

下面的示例將 $crypto 變數的全域性範圍匯入到 body() 函式內的區域性範圍。因此,我們可以訪問函式內部的 $crypto 變數。當我們嘗試在不使用 global 關鍵字的情況下列印變數時,我們將無法這樣做,因為變數的區域性作用域不存在。檢視 PHP 手冊 以瞭解有關範圍和 global 關鍵字的更多資訊。

示例程式碼:

#php 7.x
<?php
$crypto = 'Bitcoin';
function body(){
    global $crypto;
    echo $crypto." is a top cryptocurrency.";
}
body();
?>

輸出:

Bitcoin is a top cryptocurrency.

PHP 中使用 $GLOBALS 超級全域性變數在區域性範圍內使用全域性變數

我們可以使用 $GLOBALS 超級全域性變數來引用全域性範圍變數。$GLOBALS 變數是一個關聯陣列,其中包含在全域性範圍內定義的變數的引用。我們可以將變數寫在 $GLOBALS 括號內,以將全域性變數引用為 $GLOBALS["name"]。此方法嘗試在函式內列印區域性變數和全域性變數。它使用 $GLOBALS 超級全域性變數來引用函式內部全域性範圍內的變數。

例如,建立一個變數 $var 並分配一個字串 global scope variable。編寫一個函式 body() 並在函式內建立相同的變數 $var 並分配字串 local scope variable 這次。首先,將在 $GLOBALS 陣列中引用它的 $var 變數回顯為 $GLOBALS["var"]。在下一行中,使用 echo 語句列印 $var 變數。

下面的示例將 $var 變數列印兩次。第一個使用 $GLOBALS["var"] 陣列,因此,它列印在函式外部定義的全域性變數。第二次顯示函式內部的變數。檢視 PHP 手冊 以瞭解有關 $GLOBALS 超級全域性變數的更多資訊。

程式碼示例:

#php 7.x
<?php
$var = "global scope variable";
function body() {
    $var = "local scope variable";
    echo '$var in global scope: ' . $GLOBALS["var"] . "<br>";
    echo '$var in current scope: ' . $var ;
}
body();
?>

輸出:

$var in global scope: global scope variable 
$var in current scope: local scope variable

在 PHP 中使用 define() 函式定義一個常量全域性變數

該方法使用 define() 函式在 PHP 中定義一個全域性變數。該函式有兩個引數。第一個引數是常量名,第二個引數是常量的值。預設情況下,常量不區分大小寫。我們可以從指令碼的任何地方訪問常量。定義常量時不使用 $ 符號。顧名思義,它的價值是不可變的。常量只能儲存字串和數字作為值。

例如,編寫一個 define() 函式並將常量的名稱指定為 BAND,並將值指定為 Opeth。建立一個函式 bandName() 並使用 echo 語句顯示 BAND 常量。在函式外,呼叫函式 bandName()。該指令碼將輸出值 Opeth。檢視 PHP 手冊 以瞭解有關 define() 函式的更多資訊。

示例程式碼:

# php 7.x
<?php
define('BAND', 'Opeth');
function bandName()
{
    echo BAND;
}
bandName();
?>

輸出:

Opeth
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相關文章 - PHP Variable