Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen globalen und superglobalen Variablen in PHP
In diesem Artikel wird hauptsächlich der Unterschied zwischen globalen PHP-Variablen und superglobalen Variablen vorgestellt. Eine detailliertere Analyse beschreibt die Konzepte, Verwendung und Unterschiede zwischen globalen PHP-Variablen und superglobalen Variablen.
Dieser Artikel analysiert den Unterschied zwischen globalen PHP-Variablen und superglobalen Variablen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Globale Variablen sind Variablen, die außerhalb der Funktion definiert sind. Kann nicht direkt in Funktionen verwendet werden. Weil sein Umfang nicht innerhalb der Funktion liegt. Daher sehen wir bei der Verwendung innerhalb einer Funktion oft so etwas wie den globalen $a;
Super globaler Variablenbereich ist in allen Skripten gültig. Daher kann die Funktion direkt verwendet werden. Beispielsweise sind $_GET und $_SERVER superglobale Variablen. Superglobale Variablen außer $_GET, $_POST, $_SERVER, $_COOKIE usw. werden im Array $GLOBALS gespeichert. Hinweis: Schreiben Sie nicht versehentlich $_GLOBALS. Ein bisschen von $_POST betroffen.
$GLOBAL ist ein spezielles benutzerdefiniertes PHP-Array. Superglobale Variablen. Wie $_SERVER sind sie alle superglobale Variablen.
Suchen Sie im Handbuch nach $GLOBALS, um die spezifischen Anweisungen und die Verwendung superglobaler Variablen herauszufinden.
Der Variablenname ist der Index des Arrays. Beschreibung: Nach der Verwendung von $GLOBALS['a'] zum Definieren einer superglobalen Variablen. Sie können $a verwenden, um direkt auf
zuzugreifen, wie im Handbuch erläutert:
$GLOBALS – Referenziert alle im globalen Bereich verfügbaren Variablen. Referenziert alle im globalen Gültigkeitsbereich Die verfügbaren Variablen im Gültigkeitsbereich
können anhand von Beispielen verstanden werden: Angenommen, eine Variable $a ist außerhalb der Funktion definiert. Dann können Sie $GLOBALS['a'] verwenden, um den Wert dieser Variablen in der Funktion abzurufen. Daher befinden sich im Array $GLOBALS: alle benutzerdefinierten globalen Variablen.
Warum wird sie als superglobale Variable bezeichnet? Im Vergleich zu $_POST kann es direkt in der Funktion verwendet werden. Es besteht überhaupt keine Notwendigkeit, die globale Anweisung zu verwenden. $GLOBALS hat also das gleiche Prinzip, außer dass $_POST in der Post-Methode übergebene Variablen speichert. $GLOBALS speichert benutzerdefinierte globale Variablen.
Persönliches Verständnis:
Das bisherige Verständnis von superglobalen Variablen war falsch: Superglobale Variablen gelten in allen Skripten. Diese Aussage führte zu subtilen Abweichungen im Verständnis. Wenn es unter allen Skripten gültig ist, ist es dann wahr, dass die von $GLOBALS gespeicherten superglobalen Variablen in einer anderen Datei abgerufen werden können, nachdem sie in einer PHP-Datei definiert wurden?
Das wird natürlich nicht der Fall sein. Es ist wahrscheinlich von $_POST betroffen, da es für jedermann zugänglich zu sein scheint. Ich wusste nicht, dass Sie nur auf die aktuell verarbeiteten $_POST-Daten zugreifen können. Es ist unmöglich, dass zwei Personen gleichzeitig Nachrichten senden. So unterscheiden Sie die aus der PHP-Datei erhaltenen Beitragsdaten. Diese Daten können nur zum aktuellen Thread gehören. Schließlich können superglobale Variablen auf diese Weise betrachtet werden, da sie relativ zu globalen Variablen sind. Eine Ebene über globalen Variablen können globale Variablen nicht innerhalb von Funktionen verwendet werden. Es löst das Problem. In anderen Sprachen können globale Variablen innerhalb von Funktionen verwendet werden. Dies ist beim PHP-Sprachdesign nicht der Fall.
Globale Variablen werden direkt innerhalb der Funktion verwendet, daher müssen Sie eine Variable bereitstellen, die direkt verwendet werden kann. Hier kommt das Konzept der superglobalen Variablen.
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen globalen und superglobalen Variablen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!