Les structures de contrôle

Manuel PHP
Précédent |  | Suivant

# Chapitre 11. Les structures de contrôle

Tous les scripts PHP sont une suite d'instructions. Une instruction peut être une assignation, un appel de fonction, une instruction conditionnelle ou bien une instruction qui ne fait rien (une instruction vide). Une instruction se termine habituellement par un point virgule (";"). De plus, plusieurs instructions peuvent être regroupées en bloc, délimité par des accolades ("{}"). Un bloc est considéré comme une instruction. Les différents types d'instruction sont décrits dans ce chapitre.

# `if`

L'instruction `if` est une des plus importantes instructions de tous les langages, PHP inclus. Elle permet l'exécution conditionnelle d'une partie de code. Les fonctionnalités de l'instruction `if` sont les mêmes en PHP qu'en C :

    <?php
      if (expression)
        commandes
    ?>

Comme nous l'avons vu dans le paragraphe consacré aux expressions, `expr` est évaluée à sa vraie valeur. Si l'expression `expr` est `TRUE`, PHP exécutera l'instruction et si elle est `FALSE`, l'instruction sera ignorée.

L'exemple suivant affiche la phrase `a est plus grand que b` si `$a` est plus grand que `$b`:

    <?php
      if ($a > $b)
        print "a est plus grand que b";
    ?>

Souvent, vous voulez que plusieurs instructions soient exécutées après un branchement conditionnel. Bien évidemment, il n'est pas obligatoire de répéter l'instruction conditionnelle autant de fois que vous avez d'instructions à exécuter. A la place, vous pouvez rassembler toutes les instructions dans un bloc. L'exemple suivant affiche `a est plus grand que b`, et assigne la valeur de la variable `$a` à la variable `$b`:

    <?php
    if ($a > $b) {
        print "a est plus grand que b";
        $b = $a;
    }
    ?>

Vous pouvez imbriquer indéfiniment des instructions `if` les unes dans les autres, ce qui permet une grande flexibilité dans l'exécution d'une partie de code suivant un grand nombre de conditions.

Précédent | Sommaire | Suivant
Opérateurs de chaînes | Niveau supérieur | `else`