Ein weiteres wichtiges Merkmal des Variablenbereichs in
PHP ist die statische -Variable (statische-Variable). Statische Variablen existieren nur in der lokalen -Funktionsdomäne und werden nur einmal initialisiert. Wenn die Programmausführung diesen Bereich verlässt, verschwindet ihr Wert nicht und das Ergebnis der letzten Ausführung wird verwendet.
Sehen Sie sich das folgende Beispiel an:
<?php function Test() { $w3sky = 0; echo $w3sky; $w3sky++; } ?>
Diese Funktion setzt den Wert von $w3sky auf 0 und gibt bei jedem Aufruf „0“ aus. Das Erhöhen der Variablen $w3sky++ um eins hat keine Auswirkung, da die Variable $w3sky nicht mehr existiert, sobald diese Funktion beendet wird. Um eine Zählfunktion zu schreiben, die diesen Zählwert nicht verliert, definieren Sie die Variable $w3sky als statisch:
wie folgt:
<?php function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?>
Jedes Mal, wenn diese Funktion Test( ) aufruft, wird der ausgegeben Wert von $w3sky und addiere eins.
Statische Variablen bieten auch eine Möglichkeit, rekursive Funktionen zu verarbeiten. Eine rekursive Funktion ist eine Methode, die sich selbst aufruft. Seien Sie beim Schreiben rekursiver Funktionen vorsichtig, da diese ohne Exit auf unbestimmte Zeit rekursiv sein können. Stellen Sie sicher, dass Sie eine Möglichkeit haben, die Rekursion abzubrechen. Die folgende einfache Funktion zählt rekursiv bis 10 und verwendet dabei die statische Variable $count, um zu bestimmen, wann gestoppt werden soll:
Beispiel für statische Variablen und rekursive Funktionen:
<?PHP function Test() { static $count = 0; $count++; echo $count; if ($count < 10) { Test(); } $count--; } ?>
Hinweis: Statische Variablen können sein wie folgt verwendet Das obige Beispiel deklariert. Wenn Sie ihm in einer Deklaration das Ergebnis von Ausdruck zuweisen, führt dies zu einem Analysefehler.
Beispiel für die Deklaration statischer Variablen:
<?PHP function foo(){ static $int = 0;// correct static $int = 1+2; // wrong (as it is an expression) static $int = sqrt(121); // wrong (as it is an expression too) $int++; echo $int; } ?>
Das obige ist der detaillierte Inhalt vonWie verwende ich statische Variablen in PHP? Detaillierte Erläuterung der Verwendung statischer Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!