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
for
dans 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
foreach
imbriquée - Comme elle fait partie du langage PHP, la structure
foreach
peut ê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
TRUE
tant 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