|
26-03-2007 |
Premier article de cette série traitant des boucles. Les boucles permettent d'exécuter un ou des bloc d'instructions soit un nombre de fois prédéterminé soit jusqu'à ce qu'une condition ne soit plus remplie. For est la plus simple des boucles, voyons comment l'utiliser.
La boucle for est une instruction qui, typiquement, va vous permettre de répéter un bloc d'instruction un nombre de fois pré-déterminé. Pour ce faire, for utilise un compteur. L'instruction for se présente sous cette forme :
for (debut; fin; incrementation) { actions1; action2; } |
Ou :
- Debut : Condition de depart de la variable qui sera évaluée tout au long de la boucle.
- Fin : Condition de fin de la boucle. ATTENTION : Tant que la condition de fin est vrai la boucle continue et pas l'inverse (piège !). C'est bien lorsque la conditon de fin est fausse que la boucle s'arréte.
- Incrémentation : Le "pas" du compteur, typiquement on trouvera içi "$variable++".
Exemple : imaginons que vous vouliez afficher 4 fois "Bienvenue sur mon site !" sur la page d'accueil (vous êtes visiblement très content d'avoir un visiteur ;) ). Vous utiliserez donc une boucle for :
<?php for ($nb=0; $nb<4; $nb++) {echo "Bienvenue sur monsite ! <br>";} ?> |
Ce qui affichera :
Bienvenue sur mon site ! Bienvenue sur mon site ! Bienvenue sur mon site ! Bienvenue sur mon site ! |
Le bloc d'instruction qui suit for est bien executé tant que la condition de fin est vrai. ATTENTION içi au choix de l'opérateur de comparaison ! Par exemple si vous mettez == au lieu de < le bloc d'instruction ne sera jamais executé car dès le depart la condition de fin est fausse !
Plus utile (nettement plus utile même), vous pouvez vous servir d'un boucle for pour construire un tableau html de maniére dynamique :
</table><table border="1"> <?php for ($nb=0; $nb<4; $nb++) {echo "<tr><td>Ligne $nb</td><td>Ligne $nb</td></tr>";} ?> </table> |
Affichera :
| Ligne 0 |
Ligne 0 |
| Ligne 1 |
Ligne 1 |
| Ligne 2 |
Ligne 2 |
| Ligne 3 |
Ligne 3 |
|
On prend içi conscience de toute la puissance de php. Il suffit alors de changer la valeur de la condition de fin pour afficher autant de ligne de tableau qu'on le souhaite :
</table><table border="1"> <?php for ($nb=0; $nb<8; $nb++) {echo "<tr><td>Ligne $nb</td><td>Ligne $nb</td></tr>";} ?> </table> |
Affichera :
| Ligne 0 |
Ligne 0 |
| Ligne 1 |
Ligne 1 |
| Ligne 2 |
Ligne 2 |
| Ligne 3 |
Ligne 3 |
| Ligne 4 |
Ligne 4 |
| Ligne 5 |
Ligne 5 |
| Ligne 6 |
Ligne 6 |
| Ligne 7 |
Ligne 7 |
|
NOTE : dans ce cas précis il peut être très intéressant d'utiliser les retours à la ligne (\n) et les tabulations (\t) nécessaire à la mise en page du code source de la page html généré. Cette précaution évitera de se retrouver avec un code source qui ne sera qu'une seule et même ligne incompréhensible ! Voila la bonne mise en page du code ci-dessus :
<table border="1"> <?php for ($nb=0; $nb<4; $nb++) {echo "<tr>\n\t<td>Ligne $nb</td>\n\t<td>Ligne $nb</td>\n</tr>\n";} ?> </table> |
Le code source de la page aura cette aspect plutôt "propre" :
<table border="1">
<tr> <td>Ligne 0</td> <td>Ligne 0</td> </tr> <tr> <td>Ligne 1</td> <td>Ligne 1</td> </tr>
<tr> <td>Ligne 2</td> <td>Ligne 2</td> </tr> <tr> <td>Ligne 3</td> <td>Ligne 3</td> </tr> </table> |
Içi une bonne connaissance du html est requise... et ce n'est que le début !
|