Services webmasters
Partenaires
Jeux concours gratuits
 
for
<<<
foreach break
>>>

4.7 Les structures de contrôle
4 Référence
 Manuel PHP

if
else
elseif
Syntaxe alternative
while
do..while
for
->foreach
break
continue
switch
declare
return
require
include
require_once
include_once

4.7.8 foreach

PHP 4 (mais pas PHP 3) inclut 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:
Instruction foreach()

<?php
  
foreach(array_expression as $value) commandes
  
foreach(array_expression as $key => $value) commandes
?>

La première forme passe en revue le tableau array_expression . A 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 .

Lorsque foreach démarre, le pointeur interne de fichier est automatiquement ramené au premier élément du tableau. Cela signifie que vous n'aurez pas à faire appel à reset avant foreach .

Note

De plus, notez que foreach travaille sur une copie du tableau spécifié, et pas sur le tableau lui-même. Par conséquent, le pointeur de tableau n'est pas modifié, comme il le serait avec le fonction each , et les modifications faites dans le tableau ne seront pas prises en compte dans le tableau original.

Note

foreach n'accepte pas l'opérateur de suppression des erreurs @ .

Vous pouvez remarquer que les exemples suivants fonctionnent de manière identique :
Instruction foreach() et while()

<?php
  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 :
Instruction foreach() et while() (2)

<?php
  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 :
Instruction foreach() et while() (3)

<?php
/* exemple foreach 1 : la valeur seulement */

$a = array (1, 2, 3, 17);

foreach (
$a as $v) {
   print
"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) {
    print
"\$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) {
    print
"\$a[$k] => $v.\n";
}

/* exemple foreach 4 : tableaux multi-dimensionnels */

$a[0][0] = "a";
$a[0][$v1) {
    foreach (
$v1 as $v2) {
        print
"$v2\n";
    }
}

/* exemple foreach 5 : tableaux dynamiques */

foreach(array(1, 2, 3, 4, 5) as $v) {
    print
"$v\n";
}

?>

<< foreach >>
for Les structures de contrôle break
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -