Maison  >  Article  >  développement back-end  >  Quel est le mécanisme des variables statiques des fonctions PHP ?

Quel est le mécanisme des variables statiques des fonctions PHP ?

王林
王林original
2024-04-10 21:09:021126parcourir

Le mécanisme de variables statiques des fonctions PHP permet aux variables de conserver leurs valeurs entre les appels de fonction, obtenant ainsi la fonctionnalité suivante : Préserver l'état entre les appels de fonction. Évitez de créer des variables en double. Simplifiez le code.

PHP 函数的静态变量机制是什么?

Mécanisme de variable statique de la fonction PHP

Introduction

La variable statique est une portée de variable spéciale qui n'existe qu'à l'intérieur de la fonction et conserve sa valeur à chaque fois que la fonction est appelée. Ceci est différent des variables normales, qui sont réinitialisées après chaque appel de fonction.

Syntaxe

Pour déclarer une variable statique, ajoutez simplement le mot-clé static comme indiqué ci-dessous :

function foo() {
  static $counter = 0;
  $counter++;
  echo $counter;
}

Cas pratique

Supposons que nous voulions créer une fonction qui s'imprime à chaque fois qu'elle est appelée. Une incrémentation comptoir. En utilisant des variables statiques, nous pouvons y parvenir facilement :

function getCounter() {
  static $counter = 0;
  $counter++;
  return $counter;
}

echo getCounter();  // 输出 1
echo getCounter();  // 输出 2
echo getCounter();  // 输出 3

Différent des variables non statiques

  • Portée : Les variables statiques n'existent qu'à l'intérieur de la fonction, tandis que les variables non statiques sont créées lorsque la fonction est appelée.
  • Visibilité : Les variables statiques sont visibles à l'intérieur de la fonction, tandis que les variables non statiques ne sont pas visibles à l'extérieur de la fonction.
  • Affectation : Les variables statiques peuvent se voir attribuer des valeurs, tandis que les variables non statiques ne peuvent être attribuées qu'une seule fois.

Avantages

  • Préserve l'état entre les appels de fonction.
  • Évitez de créer des variables en double.
  • Code simplifié.

Notes

  • Étant donné que les variables statiques conservent leur valeur entre les appels de fonction, elles doivent être utilisées avec prudence pour éviter les effets secondaires inattendus.
  • Lorsque des fonctions sont incluses dans d'autres fonctions, la portée des variables statiques sera élargie.

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