|
"foreach"PHP 4 introduit une commande “foreach”, comme en Perl ou d’autres langages. C’est un moyen simple de passer en revue un tableau. Il y a deux syntaxes possibles : la seconde est une extension mineure mais pratique de la première.
La première forme passe en revue le tableau “array_expression”. À chaque itération, la valeur de l’élément courant est assignée à “$value” et le pointeur interne de tableau est avancé d’un élément (ce qui fait qu’à la prochaine itération, on accédera à l’élément suivant). La deuxième forme fait exactement la même chose, mais c’est la clé de l’élément courant qui est assigné à la variable “$key”. Depuis PHP 5, il est possible d’ itérer également des objets.
$arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr vaut maintenant array(2, 4, 6, 8) ?> " | Ceci n’est possible que si le tableau itéré peut être réféencé (i.e. est une variable).
Vous pouvez remarquer que les exemples suivants fonctionnent de manière identique :
<?php $arr = array("un", "deux", "trois"); reset($arr); while (list(, $value) = each($arr)) { echo "Valeur : $value<br />\n"; } foreach ($arr as $value) { echo "Valeur : $value<br />\n"; } ?> Les exemples suivants sont aussi fonctionnellement identiques :
<?php $arr = array("un", "deux", "trois"); reset($arr); while (list($key, $value) = each($arr)) { echo "Clé : $key; Valeur : $value<br />\n"; } foreach ($arr as $key => $value) { echo "Clé : $key; Valeur : $value<br />\n"; } ?> Voici quelques exemples de plus :
<?php /* exemple foreach 1 : la valeur seulement */ $a = array(1, 2, 3, 17); foreach ($a as $v) { echo "Current value of \$a : $v.\n"; } /* exemple foreach 2 : la valeur et sa clé d'index */ $a = array(1, 2, 3, 17); $i = 0; /* uniquement pour l'illustration */ foreach ($a as $v) { echo "\$a[$i] => $v.\n"; $i++; } /* exemple foreach 3 : la clé et la valeur */ $a = array ( "un" => 1, "deux" => 2, "trois" => 3, "dix-sept" => 17 ); foreach ($a as $k => $v) { echo "\$a[$k] => $v.\n"; } /* exemple foreach 4 : tableaux multi-dimensionnels */ $a = array(); $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach ($a as $v1) { foreach ($v1 as $v2) { echo "$v2\n"; } } /* exemple foreach 5 : tableaux dynamiques */ foreach (array(1, 2, 3, 4, 5) as $v) { echo "$v\n"; } ?> Travail collaboratifContribuez, en ajjoutant des elements a cette page de manuel : Merci de votre aide |