Que sont les variables statiques ?
Variable statique Le spécificateur de type est statique.
Les variables statiques appartiennent au stockage statique, et leur espace de stockage est la zone de données statiques dans la mémoire (les unités de stockage sont allouées dans la zone de stockage statique. Les données de cette zone occupent ces espaces de stockage tout au long du fonctionnement de). le programme. (Il n'est pas libéré pendant toute la durée du programme), et on peut également considérer que son adresse mémoire reste inchangée jusqu'à la fin du programme entier.
Bien que les variables statiques existent toujours pendant toute l'exécution du programme, elles ne peuvent pas être utilisées en dehors de son cadre.
Tant que le mot clé static est ajouté avant une variable, la variable devient une variable statique.
Le rôle des variables statiques php
1. Modifier les variables à l'intérieur de la fonction. Les variables statiques conservent leur valeur pendant que la fonction est appelée.
<?php function testStatic() { static $val = 1; echo $val."<br />";; $val++; } testStatic(); //output 1 testStatic(); //output 2 testStatic(); //output 3 ?>
Résultat de l'exécution du programme :
1 2 3
2 Modifier les attributs ou les méthodes dans la classe.
Les attributs ou méthodes modifiés sont accessibles via le nom de la classe. Si l'attribut modifié est un attribut de classe, la valeur est conservée
<?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 ?>
Résultat de l'exécution du programme :
0 3
3. . Dans la classe Modifier les variables dans la méthode.
<?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' ?>
Résultat de l'exécution du programme :
The age is: 1 The age is: 2 The age is: 3 The age is: 4
Pour plus de connaissances sur PHP, veuillez visiter le site Web chinois php !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!