23 juin 2024

Comprendre les boucles

Bonjour, dans ce cours, je vais vous expliquer au maximum comment fonctionne une boucle sous PHP (À savoir que les boucles ont le même comportement dans tous les langages).

Ce cours sera en 3 parties :

  • - La boucle For
  • - La boucle Foreach
  • - La boucle While

La boucle For

Cette boucle est la plus connue dans le monde du développement, car c'est la première que l'on croise quand on apprend à développer.

Sa structure est très simple à comprendre et encore plus à mettre en place. Regardons ça ensemble :

<?php
for($i = 0; $i < 10; $i++) { /* Mon contenu à boucler */ }
?>


Décortiquons ça pour comprendre !
Le For signifie Pour, donc dans notre cas :

pour $i = 0; $i inférieur à 10; on incrémente $i de 1 ($i++)

La variable $i elle sert de variable de condition pour arrêter la boucle quand on a terminé la condition ($i inférieur à 10)

On l'initie à 0 pour pouvoir également parcourir un tableau si nécessaire, car comme vous le savez, un tableau a pour premier index le zéro (0).

Regardons ça avec un exemple :

<?php
for($i = 0; $i < count($tableauPrenom); $i++){
print $tableauPrenom[$i];
}
?>


Dans l'exemple ci-dessus, nous aurons les trois (3) prénoms d'affichés l'un après l'autre, car grâce au count() on va compter combien de valeur contient notre tableau $tableauPrenom.

Super simple, n'est-ce pas ?

Passons à la suivante.

La boucle Foreach

La boucle foreach est la plus utilisée pour la récupération de données directe sans devoir se soucier du nombre de données entrant.

Regardons sa structure :

<?php
foreach($tableauPrenom as $prenom){ /* Mon contenu */ }
?>


Le foreach est là pour boucler sur toutes les données d'un tableau sans devoir définir de condition d'arrêt. Dans notre cas, qu'il y ait une (1) valeur ou cent (100), la boucle ira jusqu'au bout et nous donnera une par une les données de chaque entrée de notre tableau.

Prenons l'exemple ci-dessus avec notre variable $tableauPrenom

On peut constater que nous donnons une nouvelle variable en tant que sous-variable ($prenom), cette variable prend la valeur des différents index de notre tableau. Donc, ici, les prénoms directement.

<?php
foreach($tableauPrenom as $prenom){
print $prenom;
}
?>


On aura donc d'afficher les prénoms un par un. Dans l'hypothèse où nous avons un tableau associatif qui comprend plusieurs valeurs, nous aurons donc ligne par ligne toutes les valeurs du tableau !

<?php
$tableau = [
["user"=>"Tom", "age"=>"27"],
["user"=>"Jean", "age"=>30],
["user"=>"julie", "age"=>22]
];

foreach($tableau as $value){
print "Bonjour ". $value["user"] . " tu as ". $value["age"] . " ans";
}
?>


Grâce à l'exemple du dessus, on comprend l'utilité de la boucle foreach, plus besoin d'index pour parcourir un tableau, on a accès immédiatement aux données.

Par contre, il faut également savoir que l'on peut récupérer un index via la boucle foreach :

<?php
$tableau = [
["user"=>"Tom", "age"=>"27"],
["user"=>"Jean", "age"=>30],
["user"=>"Julie", "age"=>22]
];

foreach($tableau as $key => $value){
print "Bonjour ". $value["user"] . " tu as ". $value["age"] . " ans et tu as l'id " . $key;
}
?>


La variable $key prendra l'index du tableau. Par conséquent, on peut faire comme une boucle for via un foreach.

Dernier exemple avec la boucle foreach. Dans ce nouveau cas, nous avons un tableau associatif ainsi qu'une valeur dans un tableau supplémentaire sans clé. Nous aurons donc besoin de son index pour y accéder :

<?php
$tableau = [
["user"=>"Tom", "age"=>"27", ["pseudo"=>"TomMalice"] ],
["user"=>"Jean", "age"=>30, ["pseudo"=>"JeanJass"] ],
["user"=>"Julie", "age"=>22, ["pseudo"=>"Julipe"] ]
];

foreach($tableau as $value){
print "Bonjour ". $value["user"][0]["pseudo"];
}
?>


Ici, nous aurons bien le pseudo d'afficher. Mais on peut voir que j'ai utilisé l'index zéro (0) pour accéder au tableau qui se trouve lui-même dans un tableau.

Si vous veniez à avoir plusieurs tableaux au même niveau, il faudra donc utiliser les index 0 à XX pour accéder aux données de ceux-ci :

<?php
$tableau = [
["user"=>"Tom", "age"=>"27", ["pseudo"=>"TomMalice"], ["password"=>"mon mot de passe"]]
];

foreach($tableau as $value){
print "Bonjour ". $value["user"][0]["pseudo"];
print "Ton mot de passe est : ". $value["user"][1]["password"];
}
?>


Pour terminer, parlons de la boucle while.

La boucle While

La boucle while est très pratique quand on veut faire plusieurs fois la même action tant que la condition demandée n'est pas respectée !

<?php
while(condition){ /* action à exécuter */ }
?>


Prenons un exemple très simple à comprendre, nous allons incrémenter une variable de +1 et tant que notre nombre est différent de dix (10), on continue.

<?php
$number = 1; while($number != 10){
print $number;
$number++;
}
?>


Donc ici, nous aurons 1, 2, 3 ... 9 puis fin de la boucle, nous remplissons la condition demandée. Notre chiffre est bien différent de dix (10), il s'arrête donc à neuf (9).

Voilà, la boucle while est aussi simple que ça, tant que la condition n'est pas remplie, il continue son cycle et ne s'arrête pas.

PS : Pour arrêter une boucle, il suffit d'utiliser break; dans la boucle.

<?php
$number = 1; while($number != 10){
print $number;
$number++;
break;
}
?>


Le résultat sera juste 1.

Voilà, j'espère que vous aurez appris des choses !

Mots clés:

php symfony boucle

Cours Du Dev

Recevez les dernières formations disponibles en vous inscrivant à la newsletter

Créé par arkunis