Les développeurs PHP rencontrent des difficultés à choisir la boucle adaptée pour leurs scripts, ce qui peut conduire à des performances inefficaces et à un code complexe à gérer.
Sans une compréhension précise des boucles for
, while
, do...while
et foreach
, le code peut devenir lent, lourd et source d’erreurs.
Cet article vous guide pour maîtriser chaque boucle en PHP 8, vous permettant d’optimiser votre code, d’améliorer sa lisibilité et de minimiser les erreurs.
Introduction aux boucles en PHP 8
Souvent, lorsque vous écrivez du code, vous souhaitez exécuter le même bloc de code plusieurs fois. Au lieu d’ajouter plusieurs lignes de code presque identiques dans un script, vous pouvez utiliser des boucles.
Les boucles permettent d’exécuter le même bloc de code à plusieurs reprises tant qu’une certaine condition est vraie.
On peut, si vous voulez, présenter le principe avec le schéma suivant :
Voilà ce qui se passe dans une boucle :
- Comme d’habitude, les instructions sont d’abord exécutées dans l’ordre, de haut en bas.
- À la fin des instructions, on retourne à la première.
- On recommence à lire les instructions dans l’ordre.
- Et on retourne à la première, etc.
En PHP, nous avons les types de boucles suivants :
- La boucle « for » parcourt un bloc de code un nombre de fois spécifié.
- La boucle « while » parcourt un bloc de code tant que la condition spécifiée est vraie.
- La boucle « do…while » parcourt un bloc de code une fois, puis répète la boucle tant que la condition spécifiée est vraie.
- La boucle « foreach » parcourt un bloc de code pour chaque élément d’un tableau.
Utilisation de la boucle PHP for en PHP 8
La boucle for est utilisée lorsque vous connaissez à l’avance le nombre d’itérations que le script doit effectuer.
Syntaxe :
For (expression1, expression2, expression3)
{
// code block
}
Voilà comment cela fonctionne :
- Expression1 est évaluée une fois
- Expression2 est évaluée avant chaque itération
- Expression3 est évaluée après chaque itération
Exemple:
for ($i=1; $i<=10; $i++)
{
echo "Ligne ".$i.": bonjour ";
}
Voilà le résultat de l’affichage :
Explication de l’exemple :
- La première expression,
$x = 1;
, est évaluée une fois et définit un compteur à 1. - La deuxième expression,
$x <= 10
; , est évaluée avant chaque itération et le bloc de code n’est exécuté que si cette expression est évaluée à true. Dans cet exemple, l’expression est vraie tant que$x
est inférieur ou égal à 10. - La troisième expression,
$x++
; , est évaluée après chaque itération, et dans cet exemple, l’expression augmente la valeur de$x
d’un à chaque itération.
Exercice 5 : Créer un menu déroulant avec une boucle for
Dans l’exemple ci-dessous, nous allons voir comment utiliser la boucle for pour créer un menu déroulant :
Ce code montre comment utiliser une boucle for en PHP pour générer dynamiquement les options d’un menu déroulant. Le formulaire demande à l’utilisateur de sélectionner son âge entre 1 et 100 et de soumettre cette information en cliquant sur le bouton « Valider ».
Et voilà le résultat de l’affichage
Maîtriser la boucle PHP While en PHP 8
La boucle while – Parcourt un bloc de code tant que la condition spécifiée est vraie.
Syntaxe :
While (Condition)
{
// code block
}
Exemple :
$j=1;
while($j<=10)
{
echo "Ligne ".$j.": bonjour ";
$j++;
}
Voila le résultat
Remarque :
N’oubliez pas d’incrémenter $i
, sinon la boucle continuera indéfiniment.
- La boucle while ne s’exécute pas un nombre spécifique de fois, mais vérifie après chaque itération si la condition est toujours vraie.
- La condition ne doit pas nécessairement être un compteur, elle peut être l’état d’une opération ou toute condition évaluée comme vraie ou fausse.
Utiliser la boucle PHP do...while en PHP 8
La boucle do…while – Parcourt un bloc de code une fois, puis répète la boucle tant que la condition spécifiée est vraie.
La boucle do…while exécute toujours le bloc de code au moins une fois. Ensuite, elle vérifie la condition et répète la boucle tant que la condition spécifiée est vraie.
Syntaxe :
Do
{
// code block
}while(condition);
Exemple:
$k=11;
Do
{
echo "Ligne ".$k.": bonjour ";
$k++;
}while($k<=10);
Voila le résultat
Comme vous pouvez le voir dans cet exemple, le code s’exécute au moins une fois avant de tester la condition. Si cette condition est vraie, il continue ; sinon, l’exécution se termine. Initialement, $k=11. En entrant dans la boucle do..while, il exécute le corps de la boucle puis teste la condition : 11 <= 10. Cette condition étant fausse, il sort de la boucle.
Exercice 6: Menu déroulant avec boucle while ou do...while
Dans l’exemple ci-dessous, nous allons voir comment utiliser la boucle while et do while pour créer un menu déroulant :
Ce code montre comment utiliser une boucle while en PHP pour générer dynamiquement les options d’un menu déroulant. Le formulaire demande à l’utilisateur de sélectionner son âge entre 10 et 150 et de soumettre cette information en cliquant sur le bouton « Valider ».
Et voilà le résultat de l’affichage
- Pour la boucle do .. While :
Ce code montre comment utiliser une boucle do.. while en PHP pour générer dynamiquement les options d’un menu déroulant. Le formulaire demande à l’utilisateur de sélectionner son âge entre 10 et 100 et de soumettre cette information en cliquant sur le bouton « Valider ».
Afficher un tableau avec la boucle for en PHP 8
$couleurs=['blue','blanc','rouge','noir','vert'];
$count=count($couleurs);
for ($i=0; $i<$count; $i++){
echo $couleurs[$i].'
';
}
Voilà une explication à cet exemple.
- Initialise un tableau $couleurs avec les éléments ‘blue’, ‘blanc’, ‘rouge’, ‘noir’, ‘vert’.
- Utilise la fonction count() pour déterminer le nombre d’éléments dans le tableau $couleurs et stocke cette valeur dans la variable $count.
- Démarre une boucle for qui va itérer à travers chaque élément du tableau $couleurs.
- À chaque itération de la boucle, affiche l’élément du tableau $couleurs à l’indice $i.
Afficher le contenu d'un tableau avec une boucle foreach
$couleurs=['blue','jaune','blanc','rouge','noir','vert'] ;
foreach ($couleurs as $color)
{
echo $color.'';
}
Dans l’exemple ci-dessus, fais la même chose en initialisant un tableau $couleurs et en utilisant une boucle foreach pour parcourir directement chaque élément du tableau, en assignant chaque couleur à la variable $color. Contrairement au code précédent qui utilise une boucle for et nécessite la gestion manuelle des indices, la boucle foreach rend le code plus simple et lisible. Les deux codes affichent chaque couleur suivie d’un saut de ligne HTML, mais la version avec foreach est plus concise et idiomatique en PHP.
Afficher un tableau avec la boucle foreach en PHP 8
$capitales= [
'France' =>'Paris',
'Belgique'=>'Bruxelles',
'Maroc' =>'Rabat'
];
foreach($capitales as $key => $value)
{
echo 'la capitale de la '.$key.' est la ville de '.$value.'
';
}
Voila le résultat
Dans l’exemple ci-dessus, un tableau associatif $capitales où les clés sont des noms de pays et les valeurs sont leurs capitales respectives. La boucle foreach parcourt ce tableau, assignant à chaque itération la clé à $key et la valeur à $value. Pour chaque paire clé-valeur, le code affiche une phrase indiquant la capitale du pays en utilisant une balise HTML <p>.
Afficher un tableau multidimensionnel avec PHP 8
$regions =[
'Bourgone'=>['Dijon','Auxerre'],
'Normandie'=>['Can', 'Rouen'],
'Bretagne'=>['Rennes','Brest']
];
foreach($regions As $key=>$values){
echo ' La région '.$key.'a comme villes principales :';
foreach($values as $value){
echo $value.' ';
}
echo '
';
}
Voilà le résultat de l’affichage :
Dans l’exemple ci-dessus, initialise un tableau associatif $regions où chaque clé est le nom d’une région et chaque valeur est un tableau contenant les principales villes de cette région. La première boucle foreach parcourt chaque entrée du tableau $regions, assignant la clé à $key et le tableau des villes à $values. Pour chaque région, une phrase est affichée indiquant ses principales villes. Une seconde boucle foreach imbriquée parcourt ensuite le tableau des villes, affichant chaque ville. La sortie finale est une phrase complète pour chaque région, listant ses principales villes.
Comparaison des boucles for, while, do...while et foreach en PHP 8
Les boucles for, while, do-while, et foreach sont des structures de contrôle essentielles utilisées pour exécuter du code de manière répétitive.
La boucle for est idéale lorsque le nombre d’itérations est connu à l’avance, combinant initialisation, condition, et incrémentation en une seule ligne.
La boucle while vérifie la condition avant chaque itération, ce qui la rend adaptée lorsque le nombre d’itérations dépend d’une condition dynamique.
La boucle do-while garantit au moins une exécution du code, vérifiant la condition après chaque itération.
Enfin, la boucle foreach est spécialement conçue pour itérer sur les éléments d’un tableau ou d’un objet, offrant une syntaxe simple et lisible pour parcourir les collections de données.
Chacune de ces boucles a son propre domaine d’application, permettant aux développeurs de choisir l’outil le plus approprié selon le contexte du problème à résoudre.
Voici une comparaison des différentes boucles en PHP sous forme de tableau
Boucle | Syntaxe | Utilisation | Exemple |
---|---|---|---|
« for » | for (initialization; condition; increment/decrement) { … } | Utilisée lorsque le nombre d’itérations est connu à l’avance.
| for ($i = 0; $i < 10; $i++)
{echo $i;
} |
« while » | while (condition) { … } | Utilisée lorsque le nombre d’itérations n’est pas connu à l’avance et dépend d’une condition.
| $i = 0;
while ($i < 10){
echo $i;
$i++;} |
« do-while » | do { … } while (condition); | Similaire à while, mais la condition est vérifiée après chaque itération, garantissant qu’au moins une itération est exécutée.
| $i = 0;
do {
echo $i;
$i++;
}while ($i < 10); |
« foreach » | foreach ($array as $value) { … } | Spécialement utilisée pour itérer sur les éléments d’un tableau ou d’un objet.
| $array = [1, 2, 3];
foreach ($array as $value) {
echo $value;
} |
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui. Découvrez des cours variés pour tous les niveaux !
Conclusion
Maîtriser les boucles en PHP 8 est crucial pour tout développeur souhaitant écrire du code efficace et optimisé. Chaque type de boucle a ses propres avantages et est adapté à des situations spécifiques, qu’il s’agisse de traiter des données ou de contrôler le flux d’exécution d’un programme. En comprenant pleinement le fonctionnement des boucles for
, while
, do...while
, et foreach
, vous serez mieux équipé pour développer des applications PHP robustes et performantes. Grâce aux exemples pratiques abordés, vous pouvez désormais appliquer ces concepts dans vos projets PHP 8 avec confiance. Et par la suite nous allons traiter le volet des fonctions PHP 8.