Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie globale globale PHP-Variablen

So verwenden Sie globale globale PHP-Variablen

怪我咯
怪我咯Original
2017-06-19 16:16:433913Durchsuche

Globale Variablen und das Schlüsselwort „global“

PHP definiert standardmäßig einige „Superglobals“-Variablen und kann überall im -Programm aufgerufen werden _REQUEST usw. Sie stammen in der Regel aus Daten oder anderen externen Daten und die Verwendung dieser Variablen bereitet in der Regel keine Probleme, da sie grundsätzlich nicht beschreibbar sind. Aber Sie können Ihre eigenen globalen Variablen verwenden. Mit dem Schlüsselwort „global“ können Sie globale Daten in den lokalen Bereich einer -Funktion importieren. Wenn Sie den „variablen Nutzungsumfang“ nicht verstehen, lesen Sie bitte selbst die entsprechenden Anweisungen im PHP-Handbuch. Hier ist ein Demonstrationsbeispiel mit dem Schlüsselwort „global“:

Wie Sie im obigen Beispiel sehen können, wird das Schlüsselwort „global“ zum Importieren globaler Variablen verwendet . Es scheint
<?php
$my_var = &#39;Hello World&#39;;
test_global();
function test_global() {
    // Now in local scope
     // the $my_var variable doesn&#39;t exist
     // Produces error: "Undefined variable: my_var"
    echo $my_var;
    // Now let&#39;s important the variable
    global $my_var;
    // Works:
    echo $my_var;
}
?>
sehr gut zu funktionieren und einfach zu sein. Warum machen wir uns also Gedanken darüber, das Schlüsselwort „global“ zum Definieren globaler Daten zu verwenden?

Lassen Sie mich denjenigen, die neu in der Branche sind, die Verwendung globaler Variablen erklären, „globale Variablen“. Die beiden Wörter global in diesem Substantiv haben uns gesagt, dass diese Variable wird in verschiedenen Bereichen verwendet. Es kann überall verwendet werden. Schauen wir uns zunächst ein Beispiel an:

Ergebnis: 3
<?php
$a = 1;
$b = 2;
function Sum()
{
    global $a, $b; //在里面声明为全局变量
    $b = $a + $b;
}
Sum();
echo $b;
?>

Wenn es keine globale Variable global gibt, sind die Werte von $a und $b können in der Methode nicht abgerufen werden. Wenn Sie also in der Methode eine externe Variable verwenden möchten, müssen Sie

die Variable zuerst als globale Variable deklarieren, damit sie verwendet werden kann sehr praktisch.

Die Ausgabe des obigen Skripts ist „3“. In der Funktion werden die globalen Variablen $w3sky und $w3sky2 deklariert, und alle
<?PHP
      $w3sky = 1;
      $w3sky2 = 2;
function Sum()
       {
       global $w3sky, $w3sky2;$w3sky2 = $w3sky + $w3sky2;
       }Sum();
       echo $w3sky2;
       ?>
-Referenzvariablen einer beliebigen Variablen verweisen auf die globalen Variablen. 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-Arrays. Das vorherige Beispiel kann wie folgt geschrieben werden:

Das Beispiel verwendet $GLOBALS anstelle von globalIm $GLOBALS-Array ist jede Variable eine Element, Schlüssel Der Name entspricht dem

Variablennamen

und der Wert entspricht dem Inhalt der Variablen

. $GLOBALS existiert im globalen Bereich, da $GLOBALS eine
<?PHP
       $w3sky = 1;
       $w3sky2 = 2;function Sum()
       {
       $GLOBALS[&#39;w3sky&#39;] = $GLOBALS[&#39;w3sky&#39;] + $GLOBALS[&#39;w3sky2&#39;];
       }Sum();
       echo $w3sky2;
       ?>
superglobale Variable

ist. Das folgende Beispiel zeigt die Verwendung superglobaler Variablen: Beispiel zur Demonstration superglobaler Variablen und Bereichsbeispieleglobal Das heißt, solange Sie globale $db deklarieren In einer Datei können Sie diese $db unterhalb der Deklaration referenzieren

Ausgabe:
<?PHP
       function test_global()
       {
       // 大多数的预定义变量并不 "super",它们需要用 &#39;global&#39; 关键字来使它们在函
数的本地区域中有效。
       global $HTTP_POST_VARS;echo $HTTP_POST_VARS[&#39;name&#39;];// Superglobals 在任何
范围内都有效,它们并不需要 &#39;global&#39; 声明。Superglobals 是在 PHP 4.1.0 引入的。
       echo $_POST[&#39;name&#39;];
       }
       ?>

Aufgrund der globalen Deklaration von Variablen, Es gibt jetzt nur noch eine $count-Variable, die sowohl innerhalb als auch außerhalb der Funktion erhöht wird. Wenn

SayMyABCs2() zum zweiten Mal aufruft, ist $count bereits 11, also gibt es keine Wird nicht in die Schleife zum Drucken von Buchstaben eingegeben . Der Umfang der in der Funktion
<?php
function SayMyABCs2()
{
     global $count;
     while($count<10)
        {
           print(chr(ord(&#39;A&#39;)+$count));
           $count=$count+1; 
        }
     print("<br>Now I know $count letters<br>");
}
$count=0;
SayMyABCs2();
$count=$count+1;
print("Now I&#39;ve made $count function call(s).<br>");
SayMyABCs2();
$count=$count+1;
print("Now I&#39;ve made $count function call(s).<br>");
?>

definierten Variablen
ist standardmäßig auf die Funktion beschränkt. Mithilfe der globalen Deklaration können Sie PHP darüber informieren, dass

ABCDEFGHIJ         //第一次循环依次打印10个大写字母
Now I know 10 letters
Now I&#39;ve made 11 function call(s).       //第二次由于条件大于10则不执行循环

Now I know 11 letters
Now I&#39;ve made 12 function call(s).
nun einen Variablennamen haben muss die gleiche Bedeutung wie in der Umgebung außerhalb der Funktion. Deklarationsformat: global,

$count1,$count2,...,$countn;global ist dagegen nützlich, insbesondere weil PHP einige Variablen bereitstellt, die in The verwendet werden können Der Code wird vor der Ausführung an jede -Seite gebunden. Dadurch kann die Funktion diese Variablen sehen, sodass sie nicht bei jedem Aufruf als Parameter übergeben werden müssen. Problem

Das obige ist der detaillierte Inhalt vonSo verwenden Sie globale globale PHP-Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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