Maison >développement back-end >tutoriel php >Comment utiliser des variables statiques en php ? Explication détaillée de l'utilisation des variables statiques
Une autre caractéristique importante de la portée des variables dans
php est la variable statique (variable statique). Les variables statiques n'existent que dans le domaine fonction local et ne sont initialisées qu'une seule fois. Lorsque l'exécution du programme quitte cette portée, sa valeur ne disparaîtra pas et le résultat de la dernière exécution sera utilisé.
Regardez l'exemple suivant :
<?php function Test() { $w3sky = 0; echo $w3sky; $w3sky++; } ?>
Cette fonction définira la valeur de $w3sky sur 0 et affichera "0" à chaque fois qu'elle sera appelée. Augmenter la variable $w3sky++ de un n'a aucun effet, car la variable $w3sky n'existe pas une fois cette fonction terminée. Pour écrire une fonction de comptage qui ne perdra pas cette valeur de comptage, définissez la variable $w3sky comme statique :
comme suit :
<?php function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?>
Chaque fois que cette fonction appelle Test( ) affichera le valeur de $w3sky et ajoutez-en un.
Les variables statiques fournissent également un moyen de gérer les fonctions récursives. Une fonction récursive est une méthode qui s'appelle elle-même. Soyez prudent lorsque vous écrivez des fonctions récursives, car elles peuvent réapparaître indéfiniment sans sortie. Assurez-vous d'avoir un moyen d'interrompre la récursion. La fonction simple suivante compte récursivement jusqu'à 10, en utilisant la variable statique $count pour déterminer quand s'arrêter :
Exemple de variables statiques et de fonctions récursives :
<?PHP function Test() { static $count = 0; $count++; echo $count; if ($count < 10) { Test(); } $count--; } ?>
Remarque : les variables statiques peuvent être utilisé comme suit L'exemple ci-dessus déclare. Si vous lui attribuez le résultat de expression dans une déclaration, cela provoquera une erreur d'analyse.
Exemple de déclaration de variables statiques :
<?PHP function foo(){ static $int = 0;// correct static $int = 1+2; // wrong (as it is an expression) static $int = sqrt(121); // wrong (as it is an expression too) $int++; echo $int; } ?>
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!