Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Rolle spielen statische PHP-Variablen?

Welche Rolle spielen statische PHP-Variablen?

青灯夜游
青灯夜游Original
2019-10-18 14:14:253322Durchsuche

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 &#39;The age is: 1&#39;
echo Person::tellAge(); //output &#39;The age is: 2&#39;
echo Person::tellAge(); //output &#39;The age is: 3&#39;
echo Person::tellAge(); //output &#39;The age is: 4&#39;
?>

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn