Qu'est-ce qu'une statiquestatiquevariable ? (Ce qui suit est la compréhension en langage C)
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 de tout le programme (au contraire, les variables auto automatiques, c'est-à-dire locales dynamiques variables, appartiennent à la catégorie de stockage dynamique et occupent l'espace de stockage dynamique (fonctions libérées une fois l'appel terminé). Bien que les variables statiques existent toujours tout au long de l'exécution du programme, elles ne peuvent pas être utilisées en dehors de son cadre.
De plus, les variables appartenant à la méthode de stockage statique ne sont pas nécessairement des variables statiques. Par exemple : bien que les variables externes (appelées variables globales en PHP) soient des méthodes de stockage statiques, elles ne sont pas nécessairement des variables statiques. Elles doivent être définies par static avant de pouvoir devenir des variables externes statiques ou des variables globales statiques.
Toutes les variables globales sont des variables statiques, et les variables locales ne sont des variables statiques locales que lorsqu'elles sont définies avec le modificateur de type static.
Les variables statiques peuvent être appliquées n'importe où. Une fois l'application réussie, elle n'acceptera plus d'autres applications identiques.
Les variables statiques ne signifient pas qu'elles ne peuvent pas changer leur valeur. Une quantité qui ne peut pas changer sa valeur est appelée une constante. La valeur qu'il détient est modifiable et elle restera à jour. On dit qu'il est statique car il ne changera pas lorsque la fonction est appelée et quitte . Autrement dit, si nous attribuons une certaine valeur à une variable statique la dernière fois que la fonction est appelée, la valeur restera inchangée au prochain appel de la fonction.
Exemple
Le code est le suivant :
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;
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!