Formation PHP #8 – Les boucles

 

Attaquons nous au boucles ! Très utilisées en PHP, elles sont indispendables pour faire tourner un programme … Il en existe plusieurs types, et elles ont chacunes leurs spécificités. Nous allons aujourd’hui en voir 3, la boucle while, la boucle do while et la boucle for.

 

Première boucle : la boucle while

C’est sans doute la boucle la plus utilisée et la plus connue. while se traduit littéralement par tant que … En gros, on demande à la boucle de répéter l’action tant qu’une condition est vérifiée. La syntaxe est la suivante :

<?php

while(condition) {
	// Faire quelque chose
}

?>

Il faut faire attention à ne pas rentrer dans une « boucle infinie » ! En effet, si la condition est tout le temps vraie, la boucle va être répétée à l’infini jusqu’a faire planter le programme.

 

Un petit exemple :

<?php

$x = 0; // Je déclare ma variable et l'initialise à zéro

while($x < 10) { // Tant que ma variable est plus petite que 10
	echo "Salut"; // J'affiche "Salut"
	$x++; // Je pense à incrémenter ma variable
}

?>

L’incrémentation ($x++;) est très importante. Elle permet de ne pas rentrer dans une boucle infinie. Si je ne l’incrémentait pas, ma variable vaudrait tout le temps 0.

 

Do while, la jumelle de while

Voici une boucle presque identique à la boucle while, la boucle do while. En fait, la différence est sur la première éxécution de la boucle. Avec while, on pose la question pour effectuer l’action et avec do while, on effectue l’action puis on pose la question pour la répéter.

En clair, avec do while, la boucle est quoi qu’il en soit éxécutée une fois, que la condition soit vraie ou non.

Sa syntaxe est identique à celle de la boucle while :

<?php

$x = 0; // Je déclare ma variable et l'initialise à zéro

do {
	echo "Salut"; // J'affiche "Salut"
	$x++; // Je pense à incrémenter ma variable
} while($x < 10) // Répéter ce que je viens de faire tant que ma variable est plus petite que 10

?>

 

La boucle for, une boucle polyvalente

Parlons maintenant de la boucle for. Elle fait souvent peur, en raison du nombre d’informations à faire passer dans la condition, mais peut s’avérer très pratique dans certains cas. Le principe est de définir la variable, l’égalité et le type d’incrémentation ou de décrémentation au sein même de la boucle, ce qui évite de le faire en plusieurs fois. Voici sa syntaxe :

<?php

for($x = 0; $x < 10; $x++) { // Je déclare ma variable et l'initialise à 0, j'execute la boucle tant qu'elle est plus petite que 10 et je l'incrémente à chaque fois
	// Action
}

?>

C’est super pratique, le même code avec while aurait donné ça :

<?php

$x = 0; // Je déclare ma variable

while($x < 10) { // Je déclare ma condition
	// Je fais l'action
	$x++; // J'incrémente
}

?>

On remarque que des lignes de code peuvent être économisées !

 

Un exemple concret : Parcourir un tableau

Voici un exemple concret d’utilisation des boucles, plus précisément de la boucle for. Si j’ai un tableau qui contient plusieurs entrées et que je souhaites toutes les afficher, j’ai la possibilité d’apeller leurs index une par une, comme ceci :

<?php

$a = array("Google", "Apple", "Amazon", "Youtube", "OVH");

echo $a[0] . "<br />";
echo $a[1] . "<br />";
echo $a[2] . "<br />";
echo $a[3] . "<br />";
echo $a[4] . "<br />";

?>

Mais si on y réfléchit, le jour ou notre tableau possède des milliers d’entrées, on va pas aller s’amuser à écrire ligne par ligne. Il nous faudrait un moyen d’automatiser l’affichage, d’apeller automatiquement tous les index…. Et c’est possible ! Gâce à la boucle for !

 

Rappelons tout d’abord que la fonction count() renvoie le nombre d’entrées d’un tableau, par exemple, ici, 5

Au fond, le fonctionnement est simple. On déclare une variable $i à 0. On lui demande d’afficher l’index $i du tableau tant que $i est inférieur aux nombres d’entrées du tableau (ici 5). On incrémentera $i à chaque passage dans la boucle.

<?php

$a = array("Google", "Apple", "Amazon", "Youtube", "OVH");

for ($i=0; $i < count($a); $i++) { 
	echo $a[$i] . "<br />";
}

?>

On indique « tant que $i est strictement inférieur au count du tableau » car l’indexation du tableau commence à zéro et que le count commence à 1 (j’espère que c’est clair c’est pas évident).

Donc, la première fois, il va afficher $a[0], ensuite $a[1] …etc.. jusqu »a arriver à $a[4] où il va arrêter la boucle.

 

J’espère que ce chapitre sur les boucles vous a plu, si c’est le cas n’hésitez pas à aimer, commenter et partager la vidéo associée ! N’hésitez pas non plus à vous abonner si ça n’est pas déja fait et sur ce on se retrouve très bientôt dans le prochain chapitre de la formation.

 


Cliquez ici pour télécharger les sources


 

Partagez cette vidéo !

Leave Comment