Chapitre 16. Les structures de contrôle

Table des matières
if
else
elseif
Syntaxe alternative
while
do-while
for
foreach
break
continue
switch
declare
return()
require()
include()
require_once()
include_once()

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 :

Exemple 16-1. Instruction if ()

<?php
if (expression)
    
commandes
?>

Comme nous l'avons vu dans le paragraphe consacré aux expressions, expr est convertie en sa valeur booléenne. Si l'expression expr vaut TRUE, PHP exécutera l'instruction et si elle vaut FALSE, l'instruction sera ignorée. Plus de détails sur les valeurs qui valent FALSE sont disponibles dans la section Conversion en booléen.

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

Exemple 16-2. Instruction if () (2)

<?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 :

Exemple 16-3. Instruction if () et bloc

<?php
if ($a > $b) {
  echo
"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.