Les boucles

Les boucles

2 May 2021

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;
}