Manuel PHP
Précédent | Chapitre 11. Les structures de contrôle | Suivant

# `do..while`

Les boucles `do..while` ressemblent beaucoup aux boucles `while`, mais l'expression est testée à la fin de chaque itération plutôt qu'au début. La principale différence par rapport à la boucle `while` est que la première itération de la boucle `do..while` est toujours exécutée (l'expression n'est testée qu'à la fin de l'itération), ce qui n'est pas le cas lorsque vous utilisez une boucle `while` (l'expression est vérifiée au début de chaque itération).

Il n'y a qu'une syntaxe possible pour les boucles `do..while`:

    <?php
    $i = 0;
    do {
       print $i;
    } while ($i>0);
    ?>

La boucle ci-dessus ne va être exécutée qu'une seule fois, car lorsque l'expression est évaluée, elle vaut `FALSE` (car la variable $i n'est pas plus grande que 0) et l'exécution de la boucle s'arrête.

Les utilisateurs familiers du C sont habitués à une utilisation différente des boucles `do..while` , qui permet de stopper l'exécution de la boucle au milieu des instructions, en l'encapsulant dans un `do..while`(0) la fonction `break`. Le code suivant montre une utilisation possible:

    <?php
    do {
        if ($i < 5) {
            print "i n'est pas suffisamment grand";
            break;
        }
        $i *= $factor;
        if ($i < $minimum_limit) {
            break;
        }
        print "i est bon";
         ...process i...
    } while(0);
    ?>

Ne vous inquiétez pas si vous ne comprenez pas tout correctement. Vous pouvez écrire des scripts très très puissants sans utiliser cette fonctionnalité.

Précédent | Sommaire | Suivant
`while` | Niveau supérieur | `for`