<< Retour au sommaire

 

Les répétitives

 

 

 

Le sommaire :

  1. Introduction.
  2. La boucle FOR.
  3. La boucle WHILE.
  4. La boucle « do while ».

 

 

Introduction

 

Une répétitive est une instruction qui permet l’exécution d’un traitement tant qu’une condition n’est pas remplie, ou au contraire, tant qu’une condition est vraie, selon le choix de la répétitive employée, FOR ou WHILE.

Une répétitive est dite aussi boucle.

La boucle exécute donc un traitement en boucle et une boucle est dite itération.

En claire, une répétitive qui exécuterait 3 fois le traitement qu’elle contient aurait réalisée 3 itérations.

 

Attention à ne pas construire une répétitive dont la condition de sortie ne pourrait jamais être atteinte !

Cette erreur de logique pourrait avoir pour conséquence une boucle éternelle qui, peut-être, vous obligerait à redémarrer votre machine…

 

 


La boucle FOR

 

La boucle FOR permet d’exécuter en boucle un traitement dont le nombre d’itérations est déterminé à l’avance.

Pour déterminer à l’avance le nombre d’itérations à réaliser, la boucle FOR utilise une variable qui joue le rôle de compteur.

 

La syntaxe :

 

For ($i=ValeurInitiale;$i<ValeurHorsPorté;Incrémentation de $i)

{ Traitement ; }

 

Ici dans la syntaxe nous avons utilisé la variable $i pour jouer le rôle de compteur.

Entre parenthèses, nous avons placé 3 expressions.

Valeur initiale est la valeur numérique que nous donnons à l’initialisation du compteur $i.

Valeur hors portée, en clair, tant que le compteur est inférieur à la valeur numérique spécifiée, la répétitive est active.

Incrémentation de $i est la valeur numérique que l’on rajoute à chaque itération réalisée.

 

Le traitement à réaliser à chaque itération, quant à lui, est placé entre accolades.

A titre d’exemple, pour une boucle qui aurait pour objectif d’exécuter 10 fois l’instruction Echo, voici le code :

 

<html>

<head>

<title> Essai de boucle FOR</title>

</head>

<body>

<h1>Nous devons dire bonjour 10 fois</h1>

<?php

for ($i=0;$i<10;$i=$i+1)

{ echo "Bonjour tout le monde !<br>"; } ?>

</body>

</html>

 

Ici, nous avons incrémenté le compteur $i, par pas de 1, en écrivant bêtement :

$i=$i+1 (Donc, $i est égal à $i plus 1.)

Eh bien en PHP, nous pouvons écrire aussi :

$i++ (donc, $i plus, plus.)

(ça donne la même chose…)

 

Voici maintenant un exemple plus concret, l’affichage du contenu d’un tableau.

Pour déterminer à l’avance le nombre d’itérations à réaliser, nous allons extraire le nombre de clients contenu dans le tableau $clients.

Pour ce faire, nous allons utiliser la fonction sizeof, qui permettra d’affecter le nombre de clients dans la variable $NbClients.

 

<html>

<head>

<title> Affichage d'un tableau</title>

</head>

<body>

<?php

// création du tableau clients

$clients[0]["nom"] = "DUPONT";

$clients[0]["domicile"] = "PARIS";

$clients[0]["age"] = 35;

$clients[1]["nom"] = "MARTIN";

$clients[1]["domicile"] = "BORDEAUX";

$clients[1]["age"] = 44;

$clients[2]["nom"] = "DURAN";

$clients[2]["domicile"] = "MARSEILLE";

$clients[2]["age"] = 55;

// Affichage du contenu total du tableau clients

// Création et initialisation de la variable NbClients qui va contenir le nombre de clients

$NbClients = sizeof($clients);

// Utilisation de la boucle FOR

for ($i=0;$i<$NbClients;$i++)

{  echo "Le client $clients[$i]["nom"] habite à $clients[$i]["domicile"] et il a $clients[$i]["age"] ans<br> »; } ?>

</body>

</html>

 

Vous pouvez bien sûr imbriquer une boucle dans une boucle.

Pour une seule incrémentation réalisée dans la boucle contenant, l’intégralité de la boucle imbriquée est exécutée.

Le nombre d’itérations réalisé dans la boucle imbriqué est donc, concentration, le nombre d’itérations de la boucle contenant, multiplié par le nombre d’itération réalisé dans la boucle imbriquée.

 

Voici un exemple qui affiche la table de multiplications de 1 à 10 :

 

<html>

<head>

<title> Table de multiplications</title>

</head>

<body>

<h1>Affichage de la table de multiplications de 1 à 10</h1>

<?php

for($i=1;$i<11;$i++)

{ echo "<br>Table de $i<br>";

  for($j=1;$j<11;$j++)

  { // calcul du produit

    $Produit = $i*$j;

    echo "$i x $j = $Produit<br>"; }} ?>

</body>

</html>

 


La boucle WHILE

 

La boucle WHILE permet d’exécuter un traitement tant qu’une condition est vraie !

La syntaxe :

 

While (Condition)

{ traitement ; }

 

la condition qui doit toujours être vraie pour que la boucle travaille, est placée entre parenthèses, tandis que le traitement à exécuter est placé entre accolades.

 

Voici un exemple qui utilise un compteur, $Compteur, qui prendra consécutivement les valeur de 1 à 10 grâce à son incrémentation réalisée dans le traitement de la boucle. A chaque itération, le compteur sera affiché à l’écran.

 

<html>

<head>

<title> la boucle While</title>

</head>

<body>

<?php

$Compteur = 1;

while ($Compteur<=10)

{ echo "<br>Ligne numéro $Compteur »;

  $Compteur++; } ?>

</body>

</html>

 


La boucle « do while »

 

Cette répétitive permet de réaliser un traitement en boucle tant qu’une condition est vraie.

 

La syntaxe :

Do {

Traitement;

}

while (condition vraie) ;

 

Tant que la condition est vraie, le traitement inclus dans les accolades sera exécuté…

 

Un exemple :

Ici, à partir d’un compteur, la boucle va afficher :

Ligne numéro 1,

Ligne numéro 2, Etc

(Jusqu’à ce que le compteur soit égal à 10…)

 

<html>

<head>

<title>Affichage dans une boucle</title>

</head>

<body>

<?php

$Compteur = 0;

do {

  $Compteur = $Compteur +1;

  echo "Ligne numéro $Compteur <br />"; }

while ($Compteur<10); ?>

</body>

</html> 

 

Philippe BOULANGER