Heim > Artikel > Backend-Entwicklung > PHP verwendet global, um eine Lösung für globale Variablen zu definieren, die keine Auswirkung hat
Die durch
global definierte -Variable ist eine globale Variable. Wenn beispielsweise die Variable in der -Funktion und die Variable mit demselben Namen außerhalb der Funktion nicht dieselbe Variable in sind php, wenn wir global verwenden. Wenn der -Variablenname in der Funktion identisch ist, dann handelt es sich um eine Variable. Nehmen wir zur Veranschaulichung ein paar Beispiele.
Für PHP-Anfänger kann es bei Verwendung des Schlüsselworts global vorkommen, dass die Globalisierung einer Variablen außerhalb einer Funktion innerhalb einer Funktion in einigen Fällen die Variable nicht korrekt ausgeben kann (d. h. die globale Variable ist ungültig). Schauen wir uns ein einfaches und allgemeines Beispiel an.
Hier haben wir zwei Seiten a.php und b.php.
b.php-Seitencode lautet wie folgt:
<?php $site_name = 'CodePlayer'; function sayHi(){ global $site_name; echo "Hello! Welcome to $site_name !"; } ?>
a.php-Seitencode lautet wie folgt:
<?php function include_view_page(){ include 'b.php'; sayHi(); } include_view_page(); ?>
Das obige Beispiel ist sehr einfach Ich hoffe, dass beim Besuch einer .php-Seite die Willkommenserklärung korrekt angezeigt werden kann. Wenn wir jedoch den Browser verwenden, um auf die a.php-Seite zuzugreifen, stellen wir leider fest, dass das Ausgabeergebnis wie folgt aussieht:
Hello! Welcome to !
Mit anderen Worten, wenn wir die Funktion sayHi() in der aufrufen Funktion include_view_page(), b Der globale $site_name in der Funktion sayHi() der .php-Seite wird nicht korrekt erkannt und wird wirksam. Was ist los?
Wenn wir die b.php-Seite in die Funktion include_view_page() einbinden, entspricht die Variable $site_name der b.php-Seite tatsächlich der Speicherung im Bereich innerhalb der Funktion include_view_page(). Wie wir alle wissen, stellt die Globalisierung einer Variablen innerhalb einer Funktion tatsächlich einen Verweis auf die globale Variable der Seite innerhalb der Funktion her. In unserem Beispiel ist die Variable $site_name nur eine lokale Variable innerhalb der Funktion include_view_page() für a.php, daher kann die Variable nicht globalisiert werden. Natürlich können wir nicht die richtigen Variablen und Variablenwerte erhalten, wenn wir entsprechende Aufrufe durchführen. .
In PHP müssen wir besonders auf das oben erwähnte Problem des Einbindens einer Seite in eine Funktion achten, das dazu führt, dass sich der Umfang der -Variablen auf der Seite ändert . Um diese Situation zu vermeiden, sollten wir versuchen, mehrstufige Include-Aufrufe zu reduzieren und Include nicht innerhalb von Funktionen zu verwenden. Darüber hinaus können wir $site_name auch als globale Variable auf der b.php-Seite deklarieren. Der Code lautet wie folgt:
<?php global $site_name; $site_name = 'CodePlayer'; function sayHi(){ global $site_name; echo "Hello! Welcome to $site_name !"; } ?>
Um beispielsweise globale Variablen innerhalb einer Funktion zu referenzieren, schauen Sie sich zunächst die an Folgender Code:
<?php $var1 = "#####"; $var2 = "&&&&&"; function global_references($use_globals) { global $var1, $var2; if (!$use_globals) { $var2 =&$var1; //1 } else { $GLOBALS["var2"] =&$var1; //2 } } global_references(false); echo "var2 is set to '$var2'<br/>"; global_references(true); echo "var2 is set to '$var2'<br/>"; ?>
Das Ausgabeergebnis ist wie folgt:
var2 is set to '&&&&&' var2 is set to '#####'
ist im obigen Code sichtbar: $var2 =&$var1; //1 ist nur im Inneren sichtbar die Funktion.
Und $GLOBALS["var2"] =&$var1; //2 ist im globalen Bereich sichtbar.
Das obige ist der detaillierte Inhalt vonPHP verwendet global, um eine Lösung für globale Variablen zu definieren, die keine Auswirkung hat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!