StatischeVariable existiert nur im Funktionsbereich. Statische Variablen leben nur im Stapel. Beim nächsten Aufruf dieser Funktion wird der Wert angezeigt wird beibehalten
Statische Variablen existieren nur innerhalb des Funktionsumfangs und statische Variablen leben nur auf dem Stapel. Im Allgemeinen werden Variablen innerhalb von Funktionen nach Funktionsende freigegeben, z. B. lokale Variablen, statische Variablen jedoch nicht. Beim nächsten Aufruf dieser Funktion bleibt der Wert der Variablen erhalten.
Grundlegende Verwendung statischer Variablen
1. Definieren Sie statische Variablen in der Klasse
[Zugriffsmodifikator] statisch $Variablenname ; 🎜>2. So greifen Sie auf statische Variablen zu
Beim Zugriff in einer Klasse gibt es zwei Methoden: self::$statischer Variablenname, Klassenname::$statischer Variablenname
Beim Zugriff außerhalb der Klasse: Es gibt eine Methode Klasse name::$statischer Variablenname
Beispiel
class Child{ public $name; //这里定义并初始化一个静态变量 $nums public static $nums=0; function construct($name){ $this->name=$name; } public function join_game(){ //self::$nums 使用静态变量 self::$nums+=1; echo $this->name."加入堆雪人游戏"; } } //创建三个小孩 $child1=new Child("李逵"); $child1->join_game(); $child2=new Child("张飞"); $child2->join_game(); $child3=new Child("唐僧"); $child3->join_game(); //看看有多少人玩游戏 echo "<br/> 有这".Child::$nums;
Änderungen beim Verlassen von , aber obwohl die Variable weiterhin existiert, kann sie nicht verwendet werden. Wenn die Funktion, die sie definiert, erneut aufgerufen wird, kann sie weiterhin verwendet werden und der nach dem vorherigen Aufruf verbleibende Wert wird gespeichert2 Statische lokale Variablen werden nur einmal initialisiert
Statische
Attribute kann nur mit einem Zeichenwert oder einer Konstante initialisiert werden und Ausdrücke können nicht verwendet werden. 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.
function test() { static $var = 5; //static $var = 1+1;就会报错 $var++; echo $var . ' '; } test(); //2 test(); //3 test(); //4 echo $var; //报错:Notice: Undefined variable: var
//全局变量本身就是静态存储方式,所有的全局变量都是静态变量 function static_global(){ global $glo; $glo++; echo $glo.'<br>'; } static_global(); //1 static_global(); //2 static_global(); //3 echo $glo . '<br>'; //3
Das obige ist der detaillierte Inhalt vonVerwendung statischer Variablen in PHP, detaillierte Erläuterung des Unterschieds zwischen lokalen statischen Variablen und globalen statischen Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!