PHPでは、グローバルと$グローバルは、グローバル変数にアクセスする方法です。 Globalはキーワードであり、$ GlobalsはHyperglobal変数です。どちらもグローバル変数を操作するために使用できますが、使用にはいくつかの違いがあります。
グローバルキーワードを使用する場合、グローバル変数を導入するために、各関数内の変数を再編成する必要があります。例えば:
$global_var = 10;
function test_global() {
global $global_var;
echo $global_var;
}
test_global(); // 出力10
$ Globals Super Global変数を使用する場合、グローバル変数は、追加のスコープ宣言なしに関数内で直接アクセスできます。例えば:
$global_var = 10;
function test_global() {
echo $GLOBALS['global_var'];
}
test_global(); // 出力10
上記のように、$ Globalsの使用はより簡単です。
グローバルキーワードを使用する場合、変数の範囲は現在の関数に制限されます。 $ Globals Super Global変数を使用する場合、スクリプト全体が変数にアクセスできます。
$global_var = 10;
function test_global() {
global $global_var;
echo $global_var;
}
function test_globals() {
echo $GLOBALS['global_var'];
}
test_global(); // 出力10
test_globals(); // 出力10
上記のように、グローバルは関数内でのみアクセスできますが、$ Globalsはスクリプト全体で利用できます。
グローバルと$の両方のグローバルは、実際の開発ではグローバル変数にアクセスできますが、$ Globals Hyperglobal変数を使用することをお勧めします。理由は次のとおりです。
$ Globalsを使用すると、各関数内でグローバルキーワードを複数回使用することを避けることができ、コードをより簡潔にします。
いくつかの厳格な環境では、グローバルキーワードが無効になる場合があり、$ Globalsはこの制限の対象ではありません。
$ Globalsを使用すると、グローバル変数にスクリプト全体でアクセスできるようになり、コードの他の部分を簡単に呼び出すことができます。
グローバルと$グローバルの両方を使用してグローバル変数にアクセスできますが、いくつかの違いがあります。コードの簡単さとより良い互換性のために、開発者は$ Globalsのスーパーグローバル変数に優先順位を付ける必要があります。