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
- La boucle
- Quatre méthodes pour explorer un tableau en PHP
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
L’utilisation de la variable
$icomme 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>'; } ?>- L'utilisation de la boucle
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
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"; }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:
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.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 : [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
$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"; }- Comme elle fait partie du langage PHP, la structure
- La boucle
print_r
- La fonction
print_r ()est utilisée pour imprimer des informations lisibles sur une table.
- La fonction
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.
$apprenants = array( "Thamer", "Mohamed", "Mounira", "Samira", "Tarek" ); $i=0; while(isset($apprenants[$i]) ) { echo "L'élément $i est $apprenants[$i]<br />"; $i++; }- La boucle
- 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