Maison >développement back-end >Problème PHP >La différence entre les variables statiques php et les variables

La différence entre les variables statiques php et les variables

(*-*)浩
(*-*)浩original
2019-09-25 09:55:083332parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn