Conception & Réalisation de sites Web

Les boucles PHP

Nous aurons souvent besoin d'éxécuter des instructions plusieurs fois. Dans ce cas nous utiliserons des structures de boucle dont les principales sont :

  • la boucle while (tant que)
  • la boucle for (pour)

La boucle While

Exemple :

<?php
while (condition)
{
    
// Actions à exécuter ici
}
?>

«while» signifie «tant que». Les actions placées dans le bloc d'instruction seront éxécutées tant que la condition est vérifiée.

Un exemple concret :

<?php
$count 
1;
while (
$count <= 10)
{
    echo 
$count." ";
    
$count $count 1;
}
?>

L'expression ci-dessus pourrait être traduite ainsi :
«Tant que ma variable $count est inférieure ou égale à 10, alors écrire $count suivi d'un espace.»

L'instruction $count = $count + 1; permet d'ajouter 1 à $count à chaque passage dans la boucle. On dit que c'est une incrémentation. Sans cette incrémentation, la boucle continuerai à l'infini ou jusqu'à ce que le serveur renvoie une erreur.

Ce qui donne dans le navigateur :

1 2 3 4 5 6 7 8 9 10

La boucle For

Regardons à nouveau l'exemple précédent :

<?php
$count 
1// <= initialisation
while ($count <= 10)  // <= condition
{
    echo 
$count." ";
    
$count $count 1;  // <= incrementation
}
?>

On aura très souvent besoin avec la boucle «while» de 3 types d'instructions : l'initialisation, la condition et l'incrementation. La boucle «for» propose de regrouper dès le départ ces 3 instructions.

«for» signifie «pour». Comme pour le «while», les actions placées dans le bloc d'instruction seront éxécutées tant que la condition est vérifiée.

Exemple

<?php
for (initialisationconditionincrementation)
{
    
// Actions à exécuter ici
}
?>

Un exemple concret :

<?php
for ($i=0$i<=10$i=$i+1)
{
    echo 
$i." ";
}
?>

L'expression ci-dessus pourrait être traduite ainsi :
«Pour $i égale à 0, tant que $i est inférieure ou égale à 10, et en ajoutant 1 à $i à chaque tour, écrire $i suivi d'un espace.»

Ce qui donne dans le navigateur le même résultat que notre première boucle while :

0 1 2 3 4 5 6 7 8 9 10

Notez que l'on peut ajouter ou soustraire n'importe quel nombre en guise d'incrémentation :

<?php
for ($i=100$i>0$i=$i-2)
{
    echo 
$i." ";
}
?>

Ce qui donne dans le navigateur :

100 98 96 94 92 90 88 86 84 82 80 78 76 74 72 70 68 66 64 62 60 58 56 54 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0
Copyright © 2017 Erwan DUPEUX MAIRE - Tous droits réservés.
Valid XHTML 1.0 Transitional Valid CSS!