Heim >Backend-Entwicklung >PHP-Problem >Welche Funktion hat das statische Schlüsselwort in PHP?
Die Funktionen des Schlüsselworts static in PHP sind: 1. Fügen Sie es in die Funktion ein, um die Variable zu ändern. Der Variablenwert wird weiterhin gespeichert, nachdem die Funktion ausgeführt wurde. 2. Fügen Sie es in die Klasse ein Ändern Sie das Attribut oder die Methode. Wenn es sich bei der Änderung um ein Klassenattribut handelt, wird der Wert beibehalten. 3. Ändern Sie die Variable in der Methode der Klasse. 4. Ändern Sie die Variable im globalen Bereich.
Die Funktionen des statischen Schlüsselworts sind wie folgt:
1. Fügen Sie es in die Funktion ein, um die Variable
2. Fügen Sie es in eine Klasse ein, um Attribute oder Methoden zu ändern.
3 >
4. Ändern Sie Variablen im globalen BereichDie verschiedenen Bedeutungen der Schlüsselwörter sind wie folgt:
1 Wird ausgeführt, wird der Variablenwert weiterhin gespeichert
Wie unten gezeigt:
<?php function testStatic() { static $val = 1; echo $val; $val++; } testStatic(); //output 1 testStatic(); //output 2 testStatic(); //output 3 ?>
2. Auf geänderte Attribute oder Methoden kann über den Klassennamen zugegriffen werden Der Wert
lautet wie folgt:
<?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 ?>
3. Die Variablen in der Methode zum Ändern der Klasse
lauten wie folgt:
<?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' ?>
4 die den globalen Geltungsbereich modifizieren, haben keine praktische Bedeutung
wie folgt: Bedeutet:
<?php static $name = 1; $name++; echo $name; ?> 另外:考虑到PHP变量作用域 <?php include 'ChromePhp.php'; $age=0; $age++; function test1() { static $age = 100; $age++; ChromePhp::log($age); //output 101 } function test2() { static $age = 1000; $age++; ChromePhp::log($age); //output 1001 } test1(); test2(); ChromePhp::log($age); //outpuut 1 ?>
Es ist ersichtlich, dass diese drei Variablen sich nicht gegenseitig beeinflussen. Darüber hinaus gibt es in PHP nur globale Bereiche und Funktionsbereiche, keinen Blockbereich.
Wenn Sie mehr zu diesem Thema erfahren möchten, besuchen Sie bitte die
php-Website für ChinesischDas obige ist der detaillierte Inhalt vonWelche Funktion hat das statische Schlüsselwort in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!