● Der Gültigkeitsbereich globaler Variablen reicht vom Definitionspunkt bis zum Ende der Quelldatei. Der Speicherzeitraum wird nach der Definition zugewiesen und der Speicher wird nach dem Beenden des Programms freigegeben ● Der Bereich lokaler Variablen ist lokal und der Speicherzeitraum ist definiert. Geben Sie den Speicher frei, nachdem Sie den Bereich verlassen haben.
Globale Variablen sind standardmäßig statische Variablen und lokale Variablen sind standardmäßig automatisch Variablen können auch als statische Variablen deklariert werden. Der Unterschied zwischen statischen Variablen und automatischen Variablen besteht darin, dass der Speicherplatz während der Ausführung des Programms vorhanden ist und nur dann freigegeben wird Programm wird beendet;
● Der Speicherplatz automatischer Variablen ist nur im Bereich vorhanden und wird nach Verlassen des Bereichs freigegeben.
Eigenschaften statischer lokaler Variablen:1. Sie ändert sich nicht, wenn die Funktion aufgerufen und beendet wird. Obwohl die Variable weiterhin existiert, kann sie nicht verwendet werden Es. Wenn die Funktion, die sie definiert, erneut aufgerufen wird, kann sie weiterhin verwendet werden und der nach dem vorherigen Aufruf verbleibende Wert wird gespeichert
2 Statische lokale Variablen werden nur einmal initialisiert
3 Statische Eigenschaften können nur mit einem Zeichenwert oder einer Konstante initialisiert werden, nicht mit Ausdrücken. Selbst wenn eine lokale statische Variable ohne Anfangswert definiert ist, weist das System automatisch einen Anfangswert von 0 (für numerische Variablen) oder ein Nullzeichen (für Zeichenvariablen) zu.
4. Wenn eine Funktion mehrmals aufgerufen wird und die Werte bestimmter Variablen zwischen den Aufrufen beibehalten werden müssen, können statische lokale Variablen berücksichtigt werden. Obwohl globale Variablen auch zum Erreichen des oben genannten Zwecks verwendet werden können, verursachen globale Variablen manchmal unerwartete Nebenwirkungen. Daher ist es immer noch besser, lokale statische Variablen zu verwenden.
Der Code lautet wie folgt:
function test() { static $var = 5; //static $var = 1+1;就会报错 $var++; echo $var . ' '; } test(); //2 test(); //3 test(); //4echo $var; //报错:Notice: Undefined variable: var
Der Code lautet wie folgt:
Die oben genannten sind die statischen Variablen und globalen Variablen in PHP, die ich für Sie zusammengestellt habe. Ich hoffe, dass sie Ihnen in Zukunft hilfreich sein werden. Verwandte Artikel: Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen statischen Variablen und globalen Variablen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!//全局变量本身就是静态存储方式,所有的全局变量都是静态变量
function static_global(){
global $glo;
$glo++;
echo $glo.'<br>';
}
static_global(); //1
static_global(); //2
static_global(); //3
echo $glo . '<br>'; //3