Heim >Backend-Entwicklung >PHP-Problem >So verwenden Sie globale PHP-Variablen
So verwenden Sie globale PHP-Variablen: Sie können die Variable über global innerhalb der Funktion deklarieren. Der Code lautet [$name = "why";function changeName(){global $name;$name = "what";}].
So verwenden Sie globale PHP-Variablen:
1. Die Definition und Verwendung globaler Variablen
Anfangs waren meine Anforderungen so:
<?php $name = "why"; function changeName(){ $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
Das Ergebnis der Ausführung des Codes ist: my name ist der Grund und nicht das, was nach der Ausführung von changeName() angezeigt wird. Bei der Analyse des Grundes liegt dies daran, dass die Variable $name im Funktionskörper changeName standardmäßig auf eine lokale Variable gesetzt ist und der Gültigkeitsbereich von $name innerhalb von changeName liegt. Ändern Sie also den Code und fügen Sie globale Variablen wie folgt hinzu:
<?php global $name; $name = "why"; function changeName(){ $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
Hinweis: Sie können einer Variablen keinen Wert zuweisen, während Sie sie als global deklarieren. Die Verwendung von global $name = „why“ ist falsch.
Nachdem ich die globale Variable definiert habe, ist das Ausführungsergebnis immer noch mein Name. Dieses Ergebnis hat mich überrascht. Es stellt sich heraus, dass die korrekte Verwendung von global lautet: „Führen Sie eine externe Variable in eine Funktion ein. Wenn die Variable nicht über einen Parameter übergeben wird, wird sie über global eingeführt. Mit anderen Worten, wenn eine Funktion auf eine externe Variable verweist.“ Wenn Sie eine Variable verwenden, können Sie die Variable über global innerhalb der Funktion deklarieren, sodass die Variable in der Funktion verwendet werden kann (entspricht der Übergabe als Parameter). Ändern Sie dann den Code erneut:
<?php $name = "why"; function changeName(){ global $name; $name = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
Das Ergebnis dieser Operation ist: „Mein Name ist was“, was anzeigt, dass „global“ zum Übergeben von Parametern verwendet wird, anstatt den Gültigkeitsbereich der Variablen global zu machen. Schauen Sie sich das folgende Beispiel noch einmal an:
<?php $name = "why"; function changeName(){ global $name; $name = "what"; } function changeName2(){ $name = "where"; } changeName(); changeName2(); echo "my name is " . $name . "<br/>"; ?>
Das Ausführungsergebnis ist: Mein Name ist was. Wenn der globale $name zu changeName2() hinzugefügt wird, lautet das Ausführungsergebnis: Mein Name ist wo.
Zusammenfassend lässt sich sagen, dass die Rolle von global der Übergabe von Parametern entspricht. Wenn Sie eine außerhalb einer Funktion deklarierte Variable verwenden möchten, entspricht dies der Übergabe der Variablen verwiesen.
Zusätzlich zur Verwendung der globalen Parameterdefinition können Sie auch die superglobale Variable $GLOBAL verwenden:
<?php $name = "why"; function changeName(){ $GLOBALS['name'] = "what"; } changeName(); echo "my name is " . $name . "<br/>"; ?>
2, global und $GLOBAL
Ein Beispiel:
<?php $var1 = 1; $var2 = 2; function test1(){ $GLOBALS['var2'] = &$GLOBALS['var1']; } test1(); echo $var2 . "<br />"; $var3 = 1; $var4 = 2; function test2(){ global $var3,$var4; $var4 = &$var3; } test2(); echo $var4 . "<br />"; ?>
Der Ausgabewert von $var2 ist 1, und der Wert von $var4 ist 2. Weil die Referenz von $var3 auf die Referenzadresse von $var4 verweist. Der tatsächliche Wert von $var4 hat sich nicht geändert. Die offizielle Erklärung lautet: $GLOBALS['var'] ist die externe globale Variable selbst, und global $var ist die Referenz oder der gleichnamige Zeiger der externen $var. Das bedeutet, dass $GLOBAL in allen Bereichen eines Skripts verfügbar ist und Sie in Funktionen oder Methoden darauf zugreifen können, ohne die globale $variable; auszuführen. Im Gegensatz zu allen anderen superglobalen Variablen ist $GLOBALS in PHP immer verfügbar. Ein weiteres Beispiel:
<?php $var1 = 1; function test1(){ unset($GLOBALS['var1']); } test1(); echo $var1 . "<br />"; $var2 = 1; function test2(){ global $var2; unset($var2); } test2(); echo $var2; ?>
Das Ausgabeergebnis ist, dass $var1 nicht existiert und der Wert von $var2 1 ist. Dies beweist, dass $var2 nur eine Alias-Referenz ist und sein Wert in keiner Weise geändert wurde. Mit anderen Worten, global $var ist eigentlich $var = &$GLOBALS['var'], was nur ein Alias für den Aufruf externer Variablen ist!
Wenn Sie mehr über das Erlernen des Programmierens erfahren möchten, achten Sie bitte auf die Spalte „PHP-Schulung“!
Das obige ist der detaillierte Inhalt vonSo verwenden Sie globale PHP-Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!