Schauen wir uns zunächst einen Code an
<?php $a = 1 ; /* global scope */ function Test () { echo $a ; /* reference to local scope variable */ } Test (); ?>
Dieses Skript wird keine Ausgabe haben, da die Echo-Anweisung auf eine lokale Version der Variablen $a verweist, und Da es innerhalb dieses Bereichs liegt, wird ihm kein Wert zugewiesen. Möglicherweise stellen Sie fest, dass sich die globalen Variablen von PHP ein wenig von der C-Sprache unterscheiden. In der C-Sprache werden globale Variablen automatisch in Funktionen wirksam, sofern sie nicht durch lokale Variablen überschrieben werden. Dies kann zu Problemen führen, da jemand versehentlich eine globale Variable ändern könnte. Globale Variablen in PHP müssen global deklariert werden, wenn sie in Funktionen verwendet werden.
globales Schlüsselwort
Erstens ein Beispiel für die Verwendung von global, der Code lautet wie folgt:
<?php $a = 1 ; $b = 2 ; function Sum () { global $a , $b ; $b = $a + $b ; } Sum (); echo $b ; ?>
Die Ausgabe des obigen Skripts ist „3“. Nachdem die globalen Variablen $a und $b in einer Funktion deklariert wurden, verweisen alle Verweise auf eine der Variablen auf ihre globale Version. PHP hat keine Begrenzung hinsichtlich der maximalen Anzahl globaler Variablen, die eine Funktion deklarieren kann.
Die zweite Möglichkeit, auf Variablen im globalen Bereich zuzugreifen, ist die Verwendung eines speziellen PHP-benutzerdefinierten $GLOBALS Array. Das vorherige Beispiel kann wie folgt geschrieben werden:
Beispiel Nr. 2 Verwenden Sie $GLOBALS anstelle von global. Der Code lautet wie folgt:
<?php $a = 1 ; $b = 2 ; function Sum () { $GLOBALS [ 'b' ] = $GLOBALS [ 'a' ] + $GLOBALS [ 'b' ]; } Sum (); echo $b ; ?>
$GLOBALS ist ein assoziatives Array, jede Variable ist ein Element und der Schlüsselname entspricht Variablenname, der Wert entspricht dem Inhalt der Variablen. Der Grund dafür, dass $GLOBALS im globalen Bereich existiert, liegt darin, dass $GLOBALS eine superglobale Variable ist. Das folgende Beispiel zeigt die Verwendung superglobaler Variablen:
Beispiel Nr. 3 Beispiel zur Demonstration superglobaler Variablen und des Gültigkeitsbereichs
<?php function test_global () { // 大多数的预定义变量并不 "super",它们需要用 'global' 关键字来使它们在函数的本地区域中有效。 global $HTTP_POST_VARS ; echo $HTTP_POST_VARS [ 'name' ]; // Superglobals 在任何范围内都有效,它们并不需要 'global' 声明。Superglobals 是在 PHP 4.1.0 引入的。 echo $_POST [ 'name' ]; } ?>
Das obige ist der detaillierte Inhalt vonglobales Schlüsselwort und Verwendung von $GLOBALS in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!