Maison  >  Article  >  développement back-end  >  Comment utiliser des variables statiques en php ? Explication détaillée de l'utilisation des variables statiques

Comment utiliser des variables statiques en php ? Explication détaillée de l'utilisation des variables statiques

伊谢尔伦
伊谢尔伦original
2017-06-30 11:30:112360parcourir

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!

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