Boucles for et while

Pourquoi utiliser les boucles

Les boucles sont un outil fondamental pour répéter une opération un certain nombre de fois, pour parcourir un ensemble de données dans un tableau.

Imaginons que l’on veut créer 10 éléments de type "div" carrés dans une page html. On pourra écrire.

<div style="width:100px;height:100px;background-color:red">1</div>
<div style="width:100px;height:100px;background-color:red">2</div>
<div style="width:100px;height:100px;background-color:red">3</div>
<div style="width:100px;height:100px;background-color:red">4</div>
<div style="width:100px;height:100px;background-color:red">5</div>
<div style="width:100px;height:100px;background-color:red">6</div>
<div style="width:100px;height:100px;background-color:red">7</div>
<div style="width:100px;height:100px;background-color:red">8</div>
<div style="width:100px;height:100px;background-color:red">9</div>
<div style="width:100px;height:100px;background-color:red">10</div>

Fastidieux. Mais si on vous demande d’en faire 200, Ça devient l’enfer.

Avec une boucle, ce sera le même travail d’en faire 20 ou 300. Voici :

<?php
for($a=1;$a<30;$a++){
echo "<div style=\"width:100px;height:100px;background-color:red\">".$a."</div>"
}

Remarquez que la variable qui sert à déterminer le nombre de répétitions sert à l’intérieur de la boucle, c’est une variable comme une autre.

Principe des boucles

Une boucle répète les instructions contenues entre les accolades tant que la condition entre les parenthèses est vraie.
Dans l’exemple ci dessus, la boucle se répète tant que $a est inférieur à 30. Cette variable $a est initialisée avec la valeur 1, et sa valeur augmentera de 1 à chaque fois que la boucle est répété ($a++ signifie "incrémenter $a" de 1).

Attention

donc à ce que la condition puisse être remplie à un moment donné, sans quoi la boucle va se répéter à l’infini et votre code va planter...

la boucle for

<?php
// Boucle for
echo "<h2>Boucle for</h2>";
for ($i=0;$i<15; $i++){
echo $i."<br />";
}
?>

La boucle while

Ici, le code est plus simple, et donc plus dangereux. La boucle se répète tant que la condition entre parenthèses est vraie, et c’est à vous, entre les accolades, qui devez rendre fausse cette condition, sous peine de voir la boucle tourner folle.

<?php
// boucle while
echo "<h2>Boucle while</h2>";
$i=0;
while($i!=30){

$i++;
echo $i."<br />";
}
?>

La boucle foreach

La boucle foreach permet de parcourir une variable tableau élément par élément. Elle est très pratique notamment pour afficher des résultats sortant d’une base de donnée.

$liste=array("un","jour","mon","prince","viendra");
foreach($liste as $element){
echo $element."<br />";
}

$liste, qui est un tableau d’élément, est parcouru par la boucle foreach, la variable $element reçoit chaque élément de la liste dans l’ordre, à chaque tour. La boucle s’arrête après avoir listé le dernier élément.