Programmation PHP/Boucles

Un livre de Wikilivres.

Concept[modifier | modifier le wikicode]

Une boucle est une instruction qui exécute un code tant qu'une condition établie est vérifiée. Si la condition est toujours vérifiée, on se trouve dans une boucle infinie. Les boucles permettent le parcours des tableaux et d'utiliser des données rendues sous la forme de tableau par une fonction de php dialoguant par exemple avec un autre langage.

Il en existe de deux types (avec des variantes) :

  1. while() : le programme se répète tant qu'une condition est vraie (ex : tant que x est inférieur à 10).
  2. for() : le programme se répète un certain nombre de fois (ex : pour x allant de 1 à 10 avec un pas de +1 à chaque itération).

while[modifier | modifier le wikicode]

while est un mot anglais signifiant "tant que" en français. Le programme exécute une routine tant que la condition est vraie.

while (condition) {
    instructions(s);
}

Deuxième syntaxe (moins courante) :

while (condition):
   instructions(s);
endwhile;

Troisième syntaxe (assez rare), quand la condition contient une méthode qui change à chaque itération, jusqu'à renvoyer faux :

while (condition);

do while[modifier | modifier le wikicode]

Idem avec premier passage obligatoire : la condition est vérifié en fin de bloc.

do {
    instructions(s);
} while (condition);

for[modifier | modifier le wikicode]

for est un mot anglais signifiant "pour" en français. Le programme exécute une routine pour des valeurs d'une variable qui vérifient une certaine condition. Généralement cette condition est de type "intervalle", c'est-à-dire pour des valeurs plus petites qu'une borne.

for (première expression ; condition d'arrêt ; itération) {
    instruction;
}
  • Le premier élément est exécuté au début de la boucle dans tous les cas.
  • Le second élément (la condition) est testé avant chaque exécution de l'instruction ou itération, s'il renvoie TRUE l'instruction sera exécutée, si FALSE est renvoyé on sort de la boucle.
  • La dernière expression est exécutée après chaque itération.

Attention la structure dans la parenthèse est for( ; ; )

foreach[modifier | modifier le wikicode]

Les boucles foreach apparues avec PHP 4, constituent une manière simple de parcourir des tableaux. Il existe deux syntaxes :

  • La plus simple s'intéresse aux clés dans les tableaux. Le type de ces clés dépend des valeurs contenues dans le tableau. foreach simplifie une tache qui aurait certes été possible avec for, mais fastidieuse :
Intérêt de foreach
Avec for Avec foreach
  $array = array('valeur1', 'valeur2', 'valeur3');
  for($i = 0; $i < count($array); $i++) { 
    echo $array[$i]; //renvoie "valeur1valeur2valeur3"
  }
  $array = array('valeur1', 'valeur2', 'valeur3');
  foreach($array as $value) { 
    echo $value; // renvoie "valeur1valeur2valeur3"
  }

as signifiant "comme", on récupère une variable contenant la valeur dans la cellule correspondante.

  • La seconde se penche davantage sur les tableaux associatifs du type
$array = array( "ville" => "Montargis", "température" => "15 degrés" );

Ainsi on récupère le nom de la clé et la valeur du champ. En fait la structure $cle => $valeur est celle de la déclaration du tableau.

foreach($array as $cle => $valeur) {
    commandes;
}

Par ailleurs, il est possible d'itérer des objets depuis PHP 5.

break et continue[modifier | modifier le wikicode]

Les mots clés :

  • break : sort de la boucle avant la fin.
  • continue : passe immédiatement à l'itération suivante.

Pour sortir ou continuer la boucle mère :

  • break 2;
  • continue 2;