首頁 >後端開發 >php教程 >如何在不重複聲明的情況下在所有PHP函數中存取全域變數?

如何在不重複聲明的情況下在所有PHP函數中存取全域變數?

DDD
DDD原創
2024-12-01 17:40:15154瀏覽

How Can I Access a Global Variable in All PHP Functions Without Repeatedly Declaring it?

PHP 中的全域變數宣告

問題:

問題:

在PHP 腳本中,它是有必要在每個需要存取它的函數內將變數宣告為全域變數。有沒有辦法定義一次全域變量,然後在所有函數中同時存取它,而無需在每個函數中手動使用全域變數?

答案:

有兩種替代方法:

方法1:使用$GLOBALS數組:
$GLOBALS['a'] = 'localhost';

$GLOBALS 數組是一個關聯數組,其中包含對全域範圍內定義的所有變數的參考。要使用$GLOBALS 聲明全域變量,只需在任何函數之外為其分配一個值:
function body() {
    echo $GLOBALS['a'];
}

定義後,您可以在任何函數中存取$GLOBALS['a']:

方法2:使用帶有屬性的類別:
class MyTest {
    protected $a;

    public function __construct($a) {
        $this->a = $a;
    }

    public function head() {
        echo $this->a;
    }

    public function footer() {
        echo $this->a;
    }
}

如果函數共用一個一組變量,請考慮將它們封裝在具有屬性的類別中:
$a = 'localhost';
$obj = new MyTest($a);
在任何函數外部實例化該類別並在方法中存取其屬性:

以上是如何在不重複聲明的情況下在所有PHP函數中存取全域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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