Programmation PHP/Boucles
Concept
modifierUne boucle est une instruction qui exécute un code tant qu'une condition établie est vérifiée. Si la condition est toujours vérifiée, on se trouve dans une boucle infinie. Les boucles permettent le parcours des tableaux et d'utiliser des données rendues sous la forme de tableau par une fonction de php dialoguant par exemple avec un autre langage.
Il en existe de deux types (avec des variantes) :
while()
: le programme se répète tant qu'une condition est vraie (ex : tant que x est inférieur à 10).for()
: le programme se répète un certain nombre de fois (ex : pour x allant de 1 à 10 avec un pas de +1 à chaque itération).
while
modifierwhile
est un mot anglais signifiant "tant que" en français. Le programme exécute une routine tant que la condition est vraie.
while (condition) {
instructions(s);
}
Deuxième syntaxe (moins courante) :
while (condition):
instructions(s);
endwhile;
Troisième syntaxe (assez rare), quand la condition contient une méthode qui change à chaque itération, jusqu'à renvoyer faux :
while (condition);
do while
modifierIdem avec premier passage obligatoire : la condition est vérifié en fin de bloc.
do {
instructions(s);
} while (condition);
for
modifierfor est un mot anglais signifiant "pour" en français. Le programme exécute une routine pour des valeurs d'une variable qui vérifient une certaine condition. Généralement cette condition est de type "intervalle", c'est-à-dire pour des valeurs plus petites qu'une borne.
for (première expression ; condition d'arrêt ; itération) {
instruction;
}
- Le premier élément est exécuté au début de la boucle dans tous les cas.
- Le second élément (la condition) est testé avant chaque exécution de l'instruction ou itération, s'il renvoie
TRUE
l'instruction sera exécutée, siFALSE
est renvoyé on sort de la boucle. - La dernière expression est exécutée après chaque itération.
Attention la structure dans la parenthèse est for( ; ; )
foreach
modifierLes boucles foreach
apparues avec PHP 4, constituent une manière simple de parcourir des tableaux. Il existe deux syntaxes :
- La plus simple s'intéresse aux clés dans les tableaux. Le type de ces clés dépend des valeurs contenues dans le tableau.
foreach
simplifie une tache qui aurait certes été possible avecfor
, mais fastidieuse :
Avec for | Avec foreach |
---|---|
$array = array('valeur1', 'valeur2', 'valeur3');
for($i = 0; $i < count($array); $i++) {
echo $array[$i]; //renvoie "valeur1valeur2valeur3"
}
|
$array = array('valeur1', 'valeur2', 'valeur3');
foreach($array as $value) {
echo $value; // renvoie "valeur1valeur2valeur3"
}
|
as
signifiant "comme", on récupère une variable contenant la valeur dans la cellule correspondante.
- La seconde se penche davantage sur les tableaux associatifs du type
$array = array( "ville" => "Montargis", "température" => "15 degrés" );
Ainsi on récupère le nom de la clé et la valeur du champ. En fait la structure $cle => $valeur
est celle de la déclaration du tableau.
foreach($array as $cle => $valeur) {
commandes;
}
Par ailleurs, il est possible d'itérer des objets depuis PHP 5.
break et continue
modifierLes mots clés :
break
: sort de la boucle avant la fin.continue
: passe immédiatement à l'itération suivante.
Pour sortir ou continuer la boucle mère :
break 2;
continue 2;