Heim > Artikel > Backend-Entwicklung > Welche Rolle spielen statische PHP-Variablen?
Was sind statische Variablen?
Statische Variable Der Typbezeichner ist statisch.
Statische Variablen gehören zum statischen Speicher, und ihr Speicherplatz ist der statische Datenbereich im Speicher (Speichereinheiten werden im statischen Speicherbereich zugewiesen. Die Daten in diesem Bereich belegen diese Speicherplätze während der gesamten Ausführung). das Programm (Es wird während der gesamten Laufzeit des Programms nicht freigegeben), und es kann auch davon ausgegangen werden, dass seine Speicheradresse bis zum Ende des gesamten Programms unverändert bleibt.
Obwohl statische Variablen während der gesamten Ausführung des Programms immer vorhanden sind, können sie nicht außerhalb ihres Gültigkeitsbereichs verwendet werden.
Solange das Schlüsselwort static vor einer Variablen hinzugefügt wird, wird die Variable zu einer statischen Variablen.
Die Rolle statischer PHP-Variablen
1. Ändern Sie Variablen innerhalb der Funktion. Statische Variablen behalten ihren Wert, während die Funktion aufgerufen wird.
<?php function testStatic() { static $val = 1; echo $val."<br />";; $val++; } testStatic(); //output 1 testStatic(); //output 2 testStatic(); //output 3 ?>
Ergebnis der Programmausführung:
1 2 3
2. Ändern Sie Attribute oder Methoden in der Klasse.
Auf geänderte Attribute oder Methoden kann über den Klassennamen zugegriffen werden. Wenn das geänderte Attribut ein Klassenattribut ist, bleibt der Wert erhalten
<?php class Person { static $id = 0; function __construct() { self::$id++; } static function getId() { return self::$id; } } echo Person::$id; //output 0 echo "<br/>"; $p1=new Person(); $p2=new Person(); $p3=new Person(); echo Person::$id; //output 3 ?>
Ergebnis der Programmausführung:
0 3
3 . In der Klasse Variablen in der Methode ändern.
<?php class Person { static function tellAge() { static $age = 0; $age++; echo "The age is: $age "; } } echo Person::tellAge(); //output 'The age is: 1' echo Person::tellAge(); //output 'The age is: 2' echo Person::tellAge(); //output 'The age is: 3' echo Person::tellAge(); //output 'The age is: 4' ?>
Ergebnis der Programmausführung:
The age is: 1 The age is: 2 The age is: 3 The age is: 4
Weitere PHP-bezogene Kenntnisse finden Sie auf der chinesischen PHP-Website!
Das obige ist der detaillierte Inhalt vonWelche Rolle spielen statische PHP-Variablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!