Maison >développement back-end >Problème PHP >La différence entre les variables statiques php et les variables
Variables ordinaires : automatiquement détruites après l'exécution de la fonction
Variables statiques : ne seront pas détruites et conserveront la dernière valeur
Manuel recommandé : manuel d'auto-apprentissage complet php
Ajouter statique devant une variable constitue une variable statique (variable statique). (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
La différence entre les variables globales statiques et les variables globales ordinaires : les variables globales statiques ne sont initialisées qu'une seule fois pour éviter qu'elles ne soient référencées dans un autre fichier unités ;
Statique n'a rien à voir avec les trois formats d'attributs public, protégé et privé. Ils ne sont pas parallèles
Public, protégé et privé peuvent également être définis sur. static
public static $a; private static $b;
Les variables statiques ont les caractéristiques suivantes :
Lorsqu'une variable statique est définie dans une fonction, cette variable ne sera pas utilisée la prochaine fois qu'elle est appelée même si la fonction se termine, elle utilise la valeur restante du dernier appel.
De plus, bien que la variable ne continue pas d'exister à la sortie de la fonction, elle ne peut pas être utilisée en dehors de la fonction.
Articles connexes recommandés :
1.Quand les variables statiques php sont-elles détruites
2.Quelles sont les différences entre les variables statiques et les variables globales en PHP ?
Recommandations vidéo associées :
1.Tutoriel vidéo Dugu Jiujian (4)_PHP
Par conséquent, le le timing d'application des variables statiques est le suivant :
Lorsqu'une fonction est appelée plusieurs fois et que les valeurs de certaines variables doivent être conservées entre les appels, des variables locales statiques peuvent être prises en compte.
Bien que les variables globales puissent également être utilisées pour atteindre l'objectif ci-dessus, les variables globales provoquent parfois des effets secondaires inattendus, il est donc toujours préférable d'utiliser des variables statiques locales.
La fonction de base des attributs statiques est que contrairement aux attributs ordinaires, les attributs statiques se souviendront de la valeur précédente :
function a() { $a = 1; $a += 1; echo $a; } //然后连续3次调用这个函数测试下 a(); a(); a(); 上面代码会输出 2 2 2 改成静态属性: function a() { static $a = 1; $a += 1; echo $a; } //然后连续3次调用这个函数测试下 a(); a(); a();
Ce qui précède affichera 2 3 4
Pour. variables statiques définies dans une classe, pour faire simple, les membres statiques de la classe peuvent être utilisés directement sans instanciation.
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!