Définitions
Les structures de contrôle permettent de répéter certaines actions ou de soumettre des exécutions à des conditions.
Toutes ces structures reposent sur un test. C'est à dire sur une expression dont l'évaluation renvoie un booléen, pouvant combiner booléean, opérateur booléen, appels de fonctions, etc.
Conditions
if
if(){}
Les instructions entre accolades ne sont exécutées que si la
condition entre parenthèse est vérifiée.$var = 25; if($var > 10) { echo "Supérieur"; }
else{}
Si la condition du
if
précédent n'est pas vérifiée, alors les instructions entre accolades
suivant le
else
sont exécutées :
$var = 5; if($var > 10) { echo "Supérieur"; } else { echo "Inférieur"; }
elseif(){}
C'est une variante des instructions précédentes, permettant
d'enchaîner les instructions
if
.
$var = -1; if($var > 10) { echo "Supérieur"; } elseif($var < 0) { echo "Négatif"; // Evalué seulement si le premier if est faux } else { echo "Inférieur"; // Evalué si les autres conditions sont fausses }
Switch
Permet d'éviter plusieurs
if
imbriqués en réalisant plusieurs tests sur une même variable. Le
test est réalisé sur la valeur entre parenthèses. Le mot clé
switch
identifie cette structure de contrôle.
Les tests
case
sont évaluées une à une. Si la valeur correspondont à un
case
, les instructions correspondantes sont exécutées. L'évaluation des
case
continue jusqu'à la fin du
switch
ou la présence d'un
break
.
Si aucun test n'est vérifié, la suite d'instructions suivant
default
est exécutée
switch($nombre) { case 1: echo "un"; break; // sans break, on évalue aussi la suite case 2: echo "deux"; break; case 3: echo "trois"; break; default: echo "default"; }
Boucles
Boucles
while
while
while
sont exécutées tant que le condition entre parenthèse est vérifiée.
$i = 0; while($i < 10) { echo $i++ . "\n"; } // affiche les dix chiffres
do while
Le principe est identique aux boucle
while
. La différence réside dans le fait que le test n'est effectué
qu'après la première instruction de la boucle (et non plus avant
l'entrée dans la boucle).
$i = 0; do { echo $i++ . "\n"; } while($i < 10) // affiche les dix chiffres
Boucle
for
for
a la syntaxe suivante :
for(expression; condition; expression2) { // instructions }
- expression
- Exécutée à l'entrée dans la boucle, peut par exmple permettre d'initailiser les variables nécessaires
- condition
- Test effectué à chaque passage dans la boucle. Si le test est vérifié, les instructions sont exécutées
- expression2
- Exécutée à la sortie de la boucle, généralement pour modifier la valeur des variables utilisées dans la condition
for($i=0; $i<10; $i++) { echo $i . "\n"; } // affiche les dix chiffres
Boucle
foreach
Tableau
foreach($tableau as $valeur) { // instructions } // parcourt les valeurs du tableauLa variable
$valeur
prend successivement toutes les valeurs du tableau
$tableau
(dans l'ordre du tableau).
Tableau associatif
foreach($tableau as $cle => $valeur) { // instructions } // parcourt les clés du tableau associatifLa variable
$cle
prend successivement toutes les clés du tableau
$tableau