Tutoriel PHP

PHP

Découvez les bases de PHP dans mon support de formation dédié à ce puissant langage orienté web.


HTML HTML5 CSS Dreamweaver Bootstrap

Les boucles en PHP

Dans ce tutoriel, nous allons aborder les boucles en PHP.

Dédinition

 

Les boucles vont vous permettre d'effectuer un certain nombre de fois les mêmes opérations, par exemple afficher une suite de nombres que l'on incrémentera à chaque tour de boucle. Vous allez pouvoir répéter autant d'instructions que vous souhaitez et vous arrêter lorsque vous l'aurez décidé, selon une condition bien précise par exemple (si vous ne vous rappelez plus de ce qu'est une condition, je vous engage à relire le chapitre les concernant). Voyons maintenant différents types de boucles que nous expliquerons au fur et à mesure. Commençons par la boucle la plus simple, la boucle while.

Source vulgarisation-informatique.com

Boucle for

Cette boucle est trés utile lorsque vous souhaitez incrémenter une variable sur une certaine plage de valeurs connue à l'avance.

<?php
for ( initialisation; condition de continuité ; expression 3) {
  // Bloc d'instructions;
}
?>

Exemple

<?php
for($d=1;$d<11;$d++){
  echo $d;
}
?>

Nous partons de la valeur 1, en Incrémentant de 1, jusqu'à ce que nous arrivons à 10 (puisque $d est strictement < à 11)

12345678910

Rappel :

$i++   Incrémenter
$i--     Décrémenter

Exercice boucle for

Boucle while

Cette boucle qui est une des plus utilisées en PHP va vous permettre d'effectuer une ou plusieurs actions tant que la condition que vous placerez à l'intérieur des parenthéses sera vérifiée

C'est pour cela que, quel que soit le type de boucle (While ou For), il faut indiquer une condition.
Tant que la condition est remplie, les instructions sont réexécutées. Dés que la condition n'est plus remplie, on sort de la boucle

Pas sur de faire le bloc d'instruction si la condition est fausse

<?php
while(condition) {
    // Bloc d'instruction
}
?>
<?php
$j=1;
while($j<7){
   echo $j++ ." ";
}
?>

Tant que $j est < à 7, on incrémente jusque 6 (puisque $i est strictement < à 7)

1 2 3 4 5 6

Il faut TOUJOURS s'assurer que la condition sera au moins remplie une fois.
Si elle ne l'est jamais, alors la boucle s'exécutera à l'infini !
PHP refuse normalement de travailler plus d'une quinzaine de secondes.
Il s'arrêtera tout seul s'il voit que son travail dure trop longtemps et affichera un message d'erreur.

Comment savoir lequel prendre quand je dois choisir entre un While et un For ?
While marche à tous les coups.
For ne marche que quand on a un nombre qui s'incrémente, comme on a fait ici. Donc For est parfois plus adapté, mais personne ne vous tuera si, comme moi, vous préférez utiliser un While tout le temps

Exercices boucle while

Boucle do while

Elle a des similitudes avec la boucle while.

Néanmoins, une différence de taille les séparent.

Si l'on reprend l'exemple avec la boucle while :

<?php
     $i = 0;
     while($i < 7)
     {
           echo $i.'<br />';

           $i++;
     }
?>

Vous constatez que si on initialise $i à 8, la boucle ne sera jamais exécutée, car dés l'analyse de la condition, 8 < 7 renverra FALSE (8 est bien inférieur à 7 ).

La boucle do-while permet d'effectuer au moins une fois une opération, et si une condition est vraie, reboucler autant de fois que vous le souhaitez.

Avec le do while, il sera au minimum exécuté une fois.

 

Dans le cas de la boucle while, la condition est examinée avant la boucle tandis que pour la boucle do while elle est éxaminée à la fin.

Donc même si cette condition n'est pas vérifiée, la boucle s'exécutera une fois.

<?php
     do
     {
           // instruction 1;
           // instruction 2;
     }
     while(condition);
?>
<?php
$i=8;
$j=7;
do
{
echo 'la boucle a bouclé une fois, même si la condition n\'a pas été respectée,<br />
la variable $i < n\'est pas inférieur à $j';
}
while ($i < $j);
?>
la boucle a bouclé une fois, même si la condition n'a pas été respectée,
la variable $i < n'est pas inférieur à $j

Exercices boucle do while