Pour rompre le déroulement séquentiel d’un programme PHP (toutes les instructions sont normalement exécutées dans l’ordre les unes derrière les autres) on peut utiliser des conditionnelles (certaines instruction ne seront éxécutées que dans certains cas) ou des répétitives…
Conditionnelle IF …ELSE
Les différentes syntaxes possibles sont :
// if simple, sans alternative ‘else’, avec une seule instruction condtionnelle
if ( condition )
instruction;
ou si on a plusieurs instructions, on utilise un ‘bloc’ d’instructions entre accolades :
if ( condition )
{ // debut d’un bloc d’instructions
instruction1;
instruction2;
…
}
ou avec une alternative ‘else’ (sinon) , quand la condition n’est pas vérifiée
if ( condition ) {
bloc d’instructions ;}
else {
bloc d’instructions ;}
Si condition est vérifiée, la première instruction est exécutée ; dans le cas contraire, c’est la seconde instruction qui est exécutée.
Note : ces 2 cas sont exclusifs l’un de l’autre…
Les boucles
Elles permettent d’effectuer plusieurs fois de suite une série d’instructions. Trois types de boucles sont disponibles en PHP: while, do…while et for.
La boucle while
est utilisée quand on ne connait pas le nombre d’itérations à faire.
Pour éviter une boucle infinie , attention de ne pas oublier la condition de fin !!
La syntaxe est la suivante :
while (condition vraie)
{ bloc d’instructions; }
exemple simple :
$i=1;
while ($i <> $n){
echo « $i<br> »;
$i++;
};
Cet exemple affiche les chiffres de 1 à $n, on sort de la boucle dès que $i = $n…
La boucle do…while
fonctionne de la même manière que while, à la différence que la condition est testée après le bloc d’instructions. Le bloc d’instruction est toujours exécuté au moins une fois alors qu’un ‘while’ simple peut ne jamais être exécuté…
La syntaxe est la suivante:
do{
bloc instructions;
} while (Condition);
Les boucles for
répètent un bloc d’instructions, un nombre prédéfini de fois (connu à l’avance)
for (valeur_initiale; condition de répétition; évolution du compteur)
{ bloc d’instructions; }
Voici un exemple simple de boucle éxécutée 10 fois qui affiche le compteur de boucle…
for($i=1;$i<=10;$i++){
echo « $i<br> »;
};
La boucle foreach
permet de parcourir très facilement des tableaux quelquesoit leur taille et sans avoir à gérer leurs indices explicitement… La syntaxe est la suivante :
// on parcourt le tableau complètement
// et chaque valeur de cellule est rangée dans la variable $valeur…
foreach ($tableau as $valeur){
instruction;
};
voici un exemple simple
// afficher toutes les valeurs du tableau $_POST
foreach ($_POST as $valeur){
print (« le champ vaut $valeur »);
};
rupture de séquence avec break et continue
L’instruction ‘break’ permet de sortir d’une boucle à un instant donné, en fonction d’une certaine condition.
L’instruction ‘continue’ permet de ne pas exécuter le code contenu dans la boucle et de passer à l’itération suivante.
Voici un exemple :
<?php
$i = 0;
$arr = array(‘un’, ‘deux’, ‘trois’, ‘quatre’, ‘stop’, ‘cinq’, ‘six’);
while ($i <=5) {
$val = $arr[$i++];
if ($val == ‘stop’) {
break; }
echo « $val<br />\n »;
}