PHP verwendet global, um eine Lösung für globale Variablen zu definieren, die keine Auswirkung hat

怪我咯
Freigeben: 2023-03-10 20:36:02
Original
2556 Leute haben es durchsucht

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 = &#39;CodePlayer&#39;; 
    function sayHi(){ 
        global $site_name; 
        echo "Hello! Welcome to $site_name !"; 
    } 
?>
Nach dem Login kopieren

a.php-Seitencode lautet wie folgt:

<?php 
    function include_view_page(){ 
        include &#39;b.php&#39;; 
        sayHi();                     
    } 
    include_view_page(); 
?>
Nach dem Login kopieren

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 !
Nach dem Login kopieren

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 = &#39;CodePlayer&#39;; 
function sayHi(){ 
    global $site_name; 
    echo "Hello! Welcome to $site_name !"; 
} 
?>
Nach dem Login kopieren

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 &#39;$var2&#39;<br/>";  
global_references(true);  
echo "var2 is set to &#39;$var2&#39;<br/>";  
?>
Nach dem Login kopieren

Das Ausgabeergebnis ist wie folgt:

var2 is set to &#39;&&&&&&#39; 
var2 is set to &#39;#####&#39;
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!