Les boucles en PHP

0.00 avg. rating (0% score) - 0 votes
Partager:

Ce qu’il y a de bien avec PHP c’est que notre site devient dynamique et heureusement. On ne pourrait pas modifier toute nos pages a la main pour afficher les commentaires d’un article ou lister des fichiers….

La boucle for

<?php
// Affiche 10 lignes:
	for ($i = 1; $i <= 10; $i++)
	{
    echo "Ligne N°".$i."<br>\n";
	}
?>

Ca va afficher 10 fois:

Ligne N°1
Ligne N°2
Ligne N°3

Ligne N°10

La boucle while
Je la trouve moins pratique personnellement, l’exemple va faire la même chose que la boucle for:

<?php
// Affiche aussi 10 lignes:
$i = 1;
	while ($i <= 10)
	{
    echo "Ligne N°".$i++."<br>\n";
	}
?>

La boucle foreach
C’est sans doute celle qu’on utilise le plus, elle permet d’afficher un array:

<?php
$array = array(1, "deux", 3, "quatre");
	foreach ($array as $value)
	{
echo $value."<br>\n";
	}
?>

Cet exemple permet d’afficher en plus la clé de l’array qui va avec ça valeur:

<?php
$array = array(1, "deux", 3, "quatre");
	foreach ($array as $key => $value)
	{
echo $key." => ".$value."<br>\n";
	}
?>

Ici, on a un array plus complexe:

<?php
$array = array(
				array("id_fruit" => 1, "nom_fruit" => "orange"),
				array("id_fruit" => 2, "nom_fruit" => "banane"),
				array("id_fruit" => 3, "nom_fruit" => "pomme"),
			);
	foreach ($array as $key => $value)
	{
echo $key." => id_fruit: ".$value['id_fruit'].", nom_fruit: ".$value['nom_fruit']."<br>\n";
	}
?>

Ce qui va afficher:

0 => id_fruit: 1, nom_fruit: orange
1 => id_fruit: 2, nom_fruit: banana
2 => id_fruit: 3, nom_fruit: apple

On peut aussi afficher un array avec la boucle for comme on le fait avec la boucle foreach.
Pour cela on doit compter l’array avec count() et enlever 1, car les clés d’un array commencent à 0.


<?php
$array = array("orange", "banane", "pomme", "abricot", "poire");
// Affiche 10 lignes:
	for ($i = 0; $i <= count($array)-1; $i++)
	{
    echo "Clé: ".$i.", valeur: ".$array[$i]."<br>\n";
	}
?>

Tous les codes sont testés et sont fonctionnels, si un de ces codes ne marche pas chez vous, merci de me le signaler.
Partager:
0.00 avg. rating (0% score) - 0 votes

Vous aimerez aussi...

Laisser un commentaire