Parcourir un tableau en PHP
Parcourir un tableau en PHP
-
Objectifs
- Etre capable de faire des mise à jour sur les tableaux en PHP
-
Présentation
- Quatre méthodes pour explorer un tableau en PHP
- La boucle
for - la boucle
foreach - la fonction
print_r - La boucle
while -
boucle for
- L’utilisation de la boucle
fordans le parcours d’une table nécessite le calcule de la taille du tableau à chaque itération. - La fonction
count()sert comme paramètre d’arrêt pour la bouclefor -
boucle foreach
- La boucle
foreach()n’est utilisable qu’à partir des versions 4 de PHP. - Elle est efficace pour les tableaux associatifs mais fonctionne également pour les tableaux de valeur ou d’indice.
- Contrairement à la boucle
for, la boucleforeach()ne nécessite pas de connaître par avance le nombre d’éléments du tableau à lire. Sa syntaxe varie en fonction du type de
tableau. -
Syntaxe:
- Parcours des valeurs du tableau
- Parcours des clés et des valeurs du tableau
-
Déclarer un tableau dans le
foreach - Dans les versions modernes de PHP (5.5 et plus récentes), on peut déclarer un tableau directement dans le foreach.
- Pour aller plus loin dans la syntaxe, nous allons afficher l’ensemble des carrés et des cubes de 1 à 10 à partir du tableau [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], de l’opérateur « puissance » ** et de la fonction echo :
-
Structure
foreachimbriquée - Comme elle fait partie du langage PHP, la structure
foreachpeut être imbriquée dans une autre structure, par exemple un autreforeach. - Pour afficher un à un les éléments d’un tableau à deux dimensions, il est donc possible de faire comme ceci :
- Cela affichera le résultat suivant :
-
print_r
- La fonction
print_r ()est utilisée pour imprimer des informations lisibles sur une table. -
boucle while
- La boucle
while, permet de parcourir un tableau d’une manière efficace dans le cas d’un tableau retourné après une requête sur une base de données. - Pour un tableau à une seule dimension, l’expression booléenne contenue dans l’instruction while est isset($tab[$i]).
- Cette expression prend la valeur
TRUEtant que l’élément désigné par$tab[$i]existe. Sinon, elle prend la valeurFALSE, ce qui est le cas en fin de tableau.
L’utilisation de la variable $i comme compteur de la boucle permet de parcourir l’ensemble des valeurs du tableau
unidimensionnel.
<?php
$apprenants = array( "Thamer", "Mohamed", "Mounira", "Samira", "Tarek" );
for($i = 0, $size = count($apprenants); $i < $size; ++$i) {
echo $apprenants[$i].'<br>';
}
?>
foreach($tableau as $valeur)
{
//bloc de code utilisant les valeurs de la variable $valeur;
}
foreach ($tableau_1 as $cle => $valeur)
{
echo 'La clé ' . $cle . ' contient la valeur ' . $valeur . "\n";
}
foreach ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10] as $valeur) {
echo $valeur . ' a pour carré ' .
($valeur**2) . ' et pour cube ' .
($valeur**3) . ".\n";
}
Après exécution le résultat suivant sera affiché:
1 a pour carré 1 et pour cube 1.
2 a pour carré 4 et pour cube 8.
3 a pour carré 9 et pour cube 27.
4 a pour carré 16 et pour cube 64.
5 a pour carré 25 et pour cube 125.
6 a pour carré 36 et pour cube 216.
7 a pour carré 49 et pour cube 343.
8 a pour carré 64 et pour cube 512.
9 a pour carré 81 et pour cube 729.
10 a pour carré 100 et pour cube 1000.
1 a pour carré 1 et pour cube 1.
2 a pour carré 4 et pour cube 8.
3 a pour carré 9 et pour cube 27.
4 a pour carré 16 et pour cube 64.
5 a pour carré 25 et pour cube 125.
6 a pour carré 36 et pour cube 216.
7 a pour carré 49 et pour cube 343.
8 a pour carré 64 et pour cube 512.
9 a pour carré 81 et pour cube 729.
10 a pour carré 100 et pour cube 1000.
$tableau_3 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
foreach ($tableau_3 as $cle_1 => $valeur_1) {
foreach ($valeur_1 as $cle_2 => $valeur_2) {
echo '[' . $cle_1 . ', ' . $cle_2 . '] = ' . $valeur_2 . "\n";
}
echo "----------\n";
}
[0, 0] = 1
[0, 1] = 2
[0, 2] = 3
———-
[1, 0] = 4
[1, 1] = 5
[1, 2] = 6
———-
[2, 0] = 7
[2, 1] = 8
[2, 2] = 9
$apprenants = array( "Thamer", "Mohamed", "Mounira", "Samira", "Tarek" );
$i=0;
while(isset($apprenants[$i]) )
{
echo "L'élément $i est $apprenants[$i]<br />";
$i++;
}
- Références:
- https://www.php.net
- Livre PHP7 Cours et exercices Jean Engels 2e édition
- Technologies de l’Information et de la Communication 4 année secondaire
