globales Schlüsselwort und Verwendung von $GLOBALS in PHP

怪我咯
Freigeben: 2023-03-10 20:28:01
Original
5930 Leute haben es durchsucht

Schauen wir uns zunächst einen Code an

<?php
$a  =  1 ;  /* global scope */

function  Test ()
{
    echo  $a ;  /* reference to local scope variable */
}

Test ();
?>
Nach dem Login kopieren

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

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 [ &#39;b&#39; ] =  $GLOBALS [ &#39;a&#39; ] +  $GLOBALS [ &#39;b&#39; ];
}

Sum ();
echo  $b ;
?>
Nach dem Login kopieren

$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",它们需要用 &#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; ];
}
?>
Nach dem Login kopieren

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!

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!