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 while 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 for, 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.
Aucun commentaire: