Verstehen Sie den PHP-Variablenbereich

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

Variablenbereich ist der Kontext, in dem sie definiert ist (d. h. ihr effektiver Bereich). In JavaScript gibt es kein Konzept für den Variablenbereich. Ein ähnliches Konzept könnte der Bereich sein. Da JavaScript jedoch einen lexikalischen Bereich verwendet, der sich auf die Position bezieht, wenn die Variable deklariert wird, und PHP keine Variablendeklaration hat, entspricht die Variable der Deklaration der Variablen, wenn ihr zum ersten Mal ein Wert zugewiesen wird. Daher sind die beiden nicht dasselbe. In diesem Artikel wird der Variablenbereich in PHP ausführlich vorgestellt

Bereichsbereich

Die meisten PHP-Variablen haben nur einen einzigen Bereich. Dieser separate Bereich umfasst auch die durch include und require

eingeführten Dateien. Hier wird die Variable $a in der eingebundenen Datei b.inc

<?php
$a = 1;
include &#39;b.inc&#39;;
?>
Nach dem Login kopieren

Funktionsbereich
 In der Benutzer
benutzerdefinierten Funktion wird ein lokaler Funktionsumfang eingeführt. Alle innerhalb der Funktion verwendeten Variablen sind standardmäßig auf den lokalen Funktionsbereich beschränkt
Das folgende Skript erzeugt keine Ausgabe, da sich die Echo-Anweisung auf eine lokale Version der Variablen $a bezieht, und zwar innerhalb der Im Gültigkeitsbereich wurde ihm nicht der Wert

<?php
$a = 1; /* global scope */
function Test()
{
    echo $a; /* reference to local scope variable */
}
Test();
?>
Nach dem Login kopieren
globales Schlüsselwort


zugewiesen. Die Ausgabe des folgenden Skripts lautet „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 für die maximale Anzahl globaler Variablen, die von einer Funktion deklariert werden können

<?php
$a = 1;
$b = 2;
function Sum()
{
    global $a, $b;
    $b = $a + $b;
}
Sum();
echo $b;//3
?>
Nach dem Login kopieren
Die zweite Möglichkeit, auf Variablen im globalen Bereich zuzugreifen, ist die Verwendung eines speziellen PHP-benutzerdefinierten $GLOBALS-Arrays


GLOBALS ist ein assoziatives Array, jede Variable ist ein Element, der Schlüsselname entspricht dem Variablennamen und der Wert entspricht dem Inhalt der Variablen. Der Grund, warum GLOBALS im globalen Bereich existiert, liegt darin, dass GLOBALS eine
superglobale Variable

<?php
$a = 1;
$b = 2;
function Sum()
{
    $GLOBALS[&#39;b&#39;] = $GLOBALS[&#39;a&#39;] + $GLOBALS[&#39;b&#39;];
}
Sum();
echo $b;//3
?>
Nach dem Login kopieren

vordefinierte Variable
für alle ist Für Skripte stellt PHP eine große Anzahl vordefinierter Variablen zur Verfügung. Diese Variablen stellen alle externen Variablen als integrierte Umgebungsvariablen und Fehlermeldungen als Rückgabeheader dar.

Das Folgende ist eine Liste vordefinierter Variablen.

超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量
$GLOBALS — 引用全局作用域中可用的全部变量
$_SERVER — 服务器和执行环境信息
$_GET — HTTP GET 变量
$_POST — HTTP POST 变量
$_FILES — HTTP 文件上传变量
$_REQUEST — HTTP Request 变量
$_SESSION — Session 变量
$_ENV — 环境变量
$_COOKIE — HTTP Cookies
$php_errormsg — 前一个错误信息
$HTTP_RAW_POST_DATA — 原生POST数据
$http_response_header — HTTP 响应头
$argc — 传递给脚本的参数数目
$argv — 传递给脚本的参数数组
Nach dem Login kopieren
Die meisten davon sind vordefinierte Variablen Da es sich nicht um superglobale Variablen handelt, müssen sie das Schlüsselwort „global“ verwenden, um sie im lokalen Gültigkeitsbereich der Funktion verfügbar zu machen.


Superglobale Variablen

Superglobale Variablen sind in jedem gültigen Gültigkeitsbereich verfügbar erfordert keine „globale“ Deklaration

Nachfolgend finden Sie eine Liste superglobaler Variablen

$GLOBALS
$_SERVER
$_GET$_POST
$_FILES$_COOKIE
$_SESSION
$_REQUEST
$_ENV
Nach dem Login kopieren
<?php
function test_global()
{
    //预定义变量
    global $HTTP_POST_VARS;
    echo $HTTP_POST_VARS[&#39;name&#39;];
    //超全局变量
    echo $_POST[&#39;name&#39;];
}
?>
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonVerstehen Sie den PHP-Variablenbereich. 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!