Services webmasters
Partenaires
Jeux concours gratuits
 
Le mot clé global
<<<
Utilisation des variables static Les références avec la variables global et static
>>>

4.3.3 Portée des variables
4.3 Les variables
4 Référence
 Manuel PHP

Le mot clé global
->Utilisation des variables static
Les références avec la variables global et static

4.3.3.2 Utilisation des variables static

Une autre caractéristique importante de la portée des variables est la notion de variable static . Une variable statique a une portée locale uniquement, mais elle ne perd pas sa valeur lorsque le script appelle la fonction. Prenons l'exemple suivant:

Les variables statiques

<?php
function test() {
    
$a = 0;
    echo
$a;
    
$a++;
}
?>

Cette fonction est un peu inutile car à chaque fois qu'elle est appelée, elle initialise $a à 0 et affiche "0". L'incrémentation de la variable ( $a ++) ne sert pas à grand chose, car dès que la fonction est terminée la variable disparaît. Pour faire une fonction de comptage utile, c'est-à-dire qui ne perdra pas la trace du compteur, la variable $a est déclarée comme une variable statique:

Les variables statiques (2)

<?php
function test() {
    static
$a = 0;
    echo
$a;
    
$a++;
}
?>

Maintenant, à chaque fois que la fonction Test() est appelée, elle affichera une valeur de $a incrémentée de 1.

Les variables statiques sont essentielles lorsque vous faites des appels récursifs à une fonction. Une fonction récursive est une fonction qui s'appelle elle-même. Il faut faire attention lorsque vous écrivez une fonction récursive car il est facile de faire une boucle infinie. Vous devez vérifier que vous avez bien une condition qui permet de terminer votre récursivité. La fonction suivante compte récursivement jusqu'à 10:

Les variables statiques et la récursivité

<?php
function test() {
    static
$count = 0;
    
$count++;
    echo
$count;
    if (
$count < 10) {
        
test();
    }
    
$count--;
}
?>

<< Utilisation des variables static >>
Le mot clé global Portée des variables Les références avec la variables global et static
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -