Was ist der variable Geltungsbereich?
Bei der Verwendung von Variablen müssen diese den Definitionsregeln von Variablen entsprechen. Variablen müssen innerhalb eines gültigen Bereichs verwendet werden. Wenn die Variable den begrenzten Bereich überschreitet, ist sie bedeutungslos. Genauso wie wenn wir 100 Yuan haben, können wir Dinge innerhalb von 100 Yuan kaufen. dann können die hundert Yuan nicht verwendet werden. Einhundert Dollar entsprechen dieser Variablen, und der Bereich innerhalb von einhundert Dollar entspricht dem Umfang.
Aufgrund unterschiedlicher Bereiche werden PHP-Variablen in lokale Variablen, globale Variablen und statische Variablen unterteilt, wie in der folgenden Tabelle gezeigt:
|
Beschreibung | ||||||||
Lokale Variablen | sind darin definiert Die Funktion Der Gültigkeitsbereich einer Variablen ist der Funktionsumfang, in dem sie sich befindet | ||||||||
Globale Variablen | Variablen außerhalb aller definierten Funktionen haben den Gültigkeitsbereich der gesamten PHP-Datei, können aber nicht innerhalb benutzerdefinierter Funktionen verwendet werden. Wenn Sie möchten, dass Benutzer globale Variablen innerhalb benutzerdefinierter Funktionen verwenden, verwenden Sie das Schlüsselwort global, um globale Variablen zu deklarieren |
||||||||
Statische Variablen | können den Variablenwert nach Beendigung des Funktionsaufrufs beibehalten. Wenn sie wieder in ihren Gültigkeitsbereich zurückkehrt, kann sie weiterhin den ursprünglichen Wert verwenden. Bei allgemeinen Variablen wird nach dem Aufruf der Funktion der darin gespeicherte Datenwert gelöscht und der belegte Speicherplatz freigegeben. Wenn Sie statische Variablen verwenden, müssen Sie zunächst das Schlüsselwort static verwenden, um die Variable zu deklarieren, und das Schlüsselwort static vor die zu definierende Variable setzen |
<?php header("content-type:text/html;charset=utf-8"); $exam= "在函数外定义"; //声明全局变量 function add(){ $exam="在函数内定义"; //声明局部变量 echo "在函数内输出的内容是:".$exam."<br/>"; //输出局部变量 } add(); //调用函数 echo "在函数外输出的内容是:".$exam; //输出全局变量 ?>
Dieses Beispiel wird verwendet, um innerhalb der Funktion zugewiesene Variablen (lokale Variablen) und außerhalb der Funktion zugewiesene Variablen (globale Variablen) zu vergleichen folgt:
Die laufenden Ergebnisse sind wie folgt:
Statische Variablen können an vielen Stellen verwendet werden. Verwenden Sie beispielsweise statische Variablen in einem Blog, um die Anzahl der Besucher zu erfassen. Bei jedem Besuch und Verlassen eines Blogs kann die aktuelle Anzahl der Besucher beibehalten werden. Statische Variablen können auch in Chatrooms verwendet werden, um Benutzer-Chat-Inhalte aufzuzeichnen.
<?php function zdy0(){ static $message = 0; //初始化静态变量 $message+=1; echo $message." "; } function zdy1(){ $message = 0; //初始化静态变量 $message+=1; echo $message." "; } for ($i=0;$i<10;$i++) zdy0(); //输出1~10 echo "<br>"; for ($i=0;$i<10;$i++) zdy1(); //输出10个1 echo "<br>"; ?>
Codelaufergebnisse:
Beispieldetails:
The Die benutzerdefinierte Funktion zdy() gibt von 1 bis 10 insgesamt 10 Zahlen aus, und die Funktion zdy1() gibt 10 aus. 1. Da die benutzerdefinierte Funktion zdy() die statische Variable $message enthält und $message in der Funktion zdy1( ) ist eine gewöhnliche Variable. Beide Variablen werden auf 0 initialisiert und die beiden Funktionen werden jeweils über for-Schleifen aufgerufen. Dadurch behält die Funktion zdy() nach dem Aufruf den Wert in der statischen Variablen $message. Die Initialisierung statischer Variablen erfolgt nur beim ersten Aufruf der Funktion und wird in Zukunft nicht mehr initialisiert. Nachdem die Funktion zdy1() aufgerufen wurde, verliert ihre Variable $message ihren ursprünglichen Wert und wird auf 0 neu initialisiert.Auf globale Variablen kann überall im Programm zugegriffen werden, innerhalb der benutzerdefinierten Funktion jedoch nicht gebraucht. Wenn Sie möchten, dass der Benutzer globale Variablen innerhalb einer benutzerdefinierten Funktion verwendet, verwenden Sie das Schlüsselwort global, um die globale Variable zu deklarieren.<?php header("content-type:text/html;charset=utf-8"); $zy="你好"; $zyy="PHP中文网"; function lxt(){ echo $zy."<br>"; //$zy 不能被调用,没有输出 global $zyy; //利用关键字global 在函数内部说明,不说明认为是私有变量 echo $zyy."<br>"; //调用$zyy } lxt(); ?>
Das Folgende gilt für globale Variablen in Die benutzerdefinierte Funktion mit globalen Variablen sollte nicht zum Vergleich verwendet werden. In diesem Beispiel sind zwei globale Variablen $zy und $zyy in der benutzerdefinierten Funktion lxt() definiert. Wir hoffen, sie in den Zeilen 5 und 7 aufrufen zu können, aber das Ausgabeergebnis des Programms ist nur der Wert von $zyy
„PHP-chinesische Website“, weil die globale Variable $zyy mit dem globalen Schlüsselwort in Zeile 6 deklariert wird. In Zeile 5 erfolgt keine Ausgabe und $zy hat nichts mit $zy in der zweiten Zeile zu tun. Der Beispielcode lautet wie folgt:Ergebnisse der Codeausführung:
Das ist der Unterschied zwischen der Anwendung globaler Variablen und der Nichtanwendung globaler Variablen. Im nächsten Abschnitt erklären wir „Variablenvariablen“ Empfohlenes entsprechendes Video Tutorials: „php .cn Dugu Jiujian (4) – PHP-Video-Tutorial》VariablenbereichDas obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Beispiele für PHP-Variablenbereiche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!