Les boucles
Quand il s'agit de répéter un bout de code, les boucles sont idéales ?.
Il existe différents types de boucles en PHP. Tous font exactement le même travail : boucler.
while
En PHP, une boucle classique est une boucle while
. Cette boucle continuera d'exécuter le bloc de code contenu en son sein tant que la condition entre parenthèses est vraie.
La variable $i
permet d'initier un "compteur". Dans notre cas, cette variable sera incrémentée à chaque itération en fin d'instruction et vérifiée dans la condition de la boucle while
. Tant que la condition est vraie, on exécute de nouveau le code contenu dans la boucle.
$i = 0;
while($i < 10) {
echo $i;
$i++;
}
Ne pas oublier d'appliquer l'incrémentation dans la boucle en toute dernière position, sinon vous aurez une boucle infinie !
do...while
La boucle do...while
est similaire à une boucle while
, à la différence qu'elle s'exécute au minimum une fois avant de vérifier la condition.
$i = 0;
do {
echo $i;
$i++;
} while($i < 10);
Ne pas oublier d'appliquer l'incrémentation dans la boucle en toute dernière position, sinon vous aurez une boucle infinie !
for
Cette fois-ci, nous allons mettre les différents paramètres directement entre les parenthèses : instanciation de la variable, vérification de la condition, incrémentation.
for($i = 0; $i < 10; $i++) {
echo $i++;
}
foreach
Cette boucle est très pratique pour boucler sur un tableau PHP. Le mot clé as
permet d'affecter une variable, dont le nom est libre, à la valeur du tableau pour l'itération en cours.
$tableau = [12, 67, 2, 78, 'Hello'];
foreach($tableau as $item) {
echo $item;
}
break
Dans une boucle, vous avez la possibilité d'insérer une condition et si celle-ci se révèle vraie, d'arrêter complètement la boucle.
$tableau = [12, 67, 2, 78, 'Hello'];
foreach($tableau as $item) {
if($item === 2) {
break;
}
echo $item;
}
continue
Le mot-clé continue
agit comme le mot-clé break
à une différence près ! continue
arrête l'itération en cours et permet à la boucle de continuer les itérations suivantes.
$tableau = [12, 67, 2, 78, 'Hello'];
foreach($tableau as $item) {
if($item === 67) {
continue;
}
echo $item;
}