RECHERCHE

Plan du site

BOURSE

RUBRIQUES

 
 PRATIQUE PHP 
Utilisation combinée de list() et each()
 
"Je veux utiliser list/each en PHP pour gérer le contenu de mes tableaux. Comment travaille cette combinaison ?" (14/10/2004)
  Forum

Réagissez dans les forums de JDN Développeurs

Mal compris et pourtant indispensable quand il s'agit de parcourir un tableau, le combo list() / each() fait partie de ces fonctions que l'on utilise par habitude sans vraiment savoir ce qu'il se cache derrière.
Voyons déjà un exemple typique de parcours de tableau :

$tableau = array('le bon', 'la brute', 'le truand');
reset($tableau);
while ( list($clef, $valeur) = each($tableau) ) {
  echo "$clef = $valeur <br />";
  }

...affiche :

0 = le bon
1 = la brute
2 = le truand

Que font nos deux fonctions ? Tout d'abord, each() renvoi une paire clef-valeur du tableau donné, à l'endroit où le pointeur est placé. Une fois la paire lue, each() déplace le pointeur d'un cran. Passée la dernière valeur, elle renvoi false.
list() récupère ensuite cette paire pour créer un tableau. A l'origine, list() a été conçue pour créer un tableau à partir d'une suite de variables, mais l'utilisation avec each(), le tout dans une boucle while(), permet de parcourir le tableau...

Rappelons que depuis PHP4, il existe une manière plus intuitive de parcourir un tableau pour ce même résultat : foreach().

$tableau = array('le bon', 'la brute', 'le truand');
foreach ($tableau as $clef => $valeur) {
  echo "$clef = $valeur <br />";
  }

L'affichage sera le même.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page
 
 



Votre avis sur cette publicité