In PHP sind Global und $ Global in beide Richtungen, um globale Variablen zuzugreifen. Wo Global ein Schlüsselwort ist und $ Global eine Hyperglobal -Variable ist. Beide können verwendet werden, um globale Variablen zu manipulieren, aber sie haben einige Unterschiede in der Nutzung.
Wenn Sie das globale Schlüsselwort verwenden, müssen Sie die Variablen in jeder Funktion neu einführen, um globale Variablen einzuführen. Zum Beispiel:
$global_var = 10;
function test_global() {
global $global_var;
echo $global_var;
}
test_global(); // Ausgabe10
Bei der Verwendung von $ globals Super Global Variable kann die globale Variable ohne zusätzliche Umfangserklärung direkt innerhalb der Funktion zugegriffen werden. Zum Beispiel:
$global_var = 10;
function test_global() {
echo $GLOBALS['global_var'];
}
test_global(); // Ausgabe10
Wie oben gezeigt, ist die Verwendung von $ globals einfacher.
Bei Verwendung des globalen Schlüsselworts ist der Umfang der Variablen auf die aktuelle Funktion begrenzt. Bei Verwendung von $ globals Super Global Variable kann das gesamte Skript auf die Variable zugreifen.
$global_var = 10;
function test_global() {
global $global_var;
echo $global_var;
}
function test_globals() {
echo $GLOBALS['global_var'];
}
test_global(); // Ausgabe10
test_globals(); // Ausgabe10
Wie oben gezeigt, kann Global nur innerhalb von Funktionen zugegriffen werden, während $ Globals im gesamten Skript erhältlich ist.
Obwohl sowohl globale als auch $ globals auf globale Variablen zugreifen können, wird in der tatsächlichen Entwicklung empfohlen, $ Globals Hyperglobal -Variablen zu verwenden. Die Gründe sind wie folgt:
Die Verwendung von $ globals kann es vermeiden, globale Schlüsselwörter in jeder Funktion mehrmals zu verwenden, wodurch der Code prägnanter wird.
In einigen strengen Umgebungen kann das globale Keyword deaktiviert sein, und $ Global unterliegt nicht dieser Einschränkung.
$ Globals ermöglicht es globale Variablen, im gesamten Skript zugegriffen zu werden, sodass es einfacher ist, andere Teile des Codes aufzurufen.
Obwohl sowohl globale als auch $ globale zum Zugriff auf globale Variablen verwendet werden können, gibt es einige Unterschiede. Aus den Einfachheit des Code und der besseren Kompatibilität sollten Entwickler $ Globals Super Global Variablen priorisieren.