Leçon 5 : Les boucles

Dans PHP, il est possible de gérer l'exécution des scripts à l'aide de différentes structures de contrôle. Dans cette leçon, nous verrons les boucles. Les boucles peuvent servir à répéter des parties d'un script, un nombre déterminé de fois ou jusqu'à ce qu'une certaine condition est réalisée.

Les boucles "while"

La syntaxe d'une boucle documentationwhile est la suivante :


	while (condition) {
		Instruction
	}

	

La syntaxe est presque directement traduisible en français : faire quelque chose tant (while) qu'une condition est vérifiée.

Voyons un exemple simple :


	<html>
	<head>
	<title>Loops</title>

	</head>
	<body>

	<?php

	$x = 1;

	while ($x <= 50) {
	   echo "<p>This text is repeated 50 times</p>";
	   $x = $x + 1;
	}
	?>

	</body>

	</html>

	

Dans l'exemple précédent, on utilise une variable nommée "$x". Ainsi que vous le constatez, les variables en PHP commencent toujours par le caractère "$". Au début, il arrive souvent qu'on l'oublie, mais c'est absolument nécessaire sinon le script ne fonctionnerait pas.

Hormis cela, l'exemple est parlant. La variable $x est d'abord initialisée à 1. Puis la boucle demande au serveur de répéter le texte tant (while) que la valeur de $x est inférieure ou égale à 50. À chaque itération, la valeur de $x est incrémentée de 1.

Les boucles "for"

Un autre type de boucle est réalisé avec documentationfor, de la forme suivante :


	for (initialisation; condition; pas) {
		 Instruction
	}

	

L'instruction sera répétée tant que les membres "initialisation" + "pas" satisferont au membre "condition". Si c'est trop abstrait, voyez l'exemple suivant :


	<html>
	<head>

	<title>Loops</title>
	</head>
	<body>

	<?php

	for ($x=0; $x<=50; $x=$x+5) {
	   echo '<p>variable $x is now = ' . $x . '</p>';
	}
	?>

	</body>
	</html>

	

Dans l'exemple précédent, la valeur de $x croît de 5 à chaque itération. La boucle poursuivra tant que la valeur de $x sera inférieure ou égale à 50. Notez que la valeur $x fait également partie de la phrase.

Voici un autre exemple :


	<html>
	<head>

	<title>Loops</title>
	</head>
	<body>

	<?php

	for ($ x=1; $x<=6; $x=$x+1) {
	   echo "<h" . $x . ">Heading levels</h" . $x . ">";
	}
	?>

	</body>
	</html>

	

Vous y êtes ? D'abord on fixe la valeur de $x à 1. Puis, à chaque itération, on écrit une balise d'entête dont le niveau est égal à la valeur de $x (h1, h2, h3, etc.) jusqu'à ce que $x vale 6.

Les boucles dans des boucles

En principes, il n'y a aucune limite à l'utilisation des boucles. Par exemple, on peut facilement mettre des boucles à l'intérieur d'autres boucles et créer de ce fait des répétitions multiples.

Mais faites attention ! Plus les scripts sont compliqués et extensifs, plus PHP ralentit. Ainsi, l'exemple suivant où, au moyen de trois boucles, on peut écrire 16 millions de couleurs !

Pour ne pas ralentir trop la page, nous avons réduit considérablement le nombre en fixant le pas à 30, limitant ainsi le nombre de couleurs à 512.


	<html>

	<head>
	<title>Loops </title>
	</head>
	<body>

	<?php

	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) {

	      for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {

		  $StrColor = "rgb(" . $IntRed . "," . $IntGreen . "," . $IntBlue . ")";

		  echo "<span style='color:" . $StrColor . "'>" . $ StrColor . "</span>";

	      }
	   }
	}
	?>

	</body>
	</html>

	

Dans cet exemple, chacune des trois couleurs primaires (rouge, vert, bleu) peut avoir une valeur entre 0 et 255. Toute combinaison des trois couleurs crée une couleur, telle que rgb(255, 255, 255). Ce code de couleur est utilisé comme couleur dans un élément <span>.

Les boucles se révèleront très utiles par la suite, quand vous en saurez un peu plus. Dès lors que vous comprenez le principe de la boucle, vous pouvez vous avancer à la leçon suivante, où nous nous intéresserons aux conditions.



<< Leçon 4 : Travailler avec les heures et les dates

Leçon 6 : Les conditions >>