list

(PHP 3, PHP 4 )

list --  Transforme une liste de variables en tableau

Description

void list ( mixed ...)

Tout comme array(), list() n'est pas une véritable fonction, mais un élément de langage, qui permet d'assigner une série de variables en une seule ligne.

Note : list() fonctionne uniquement avec des tableaux à indexation numérique, et suppose que l'indexation commence à 0.

Exemple 1. Exemple avec list()

<?php

$info
= array('caf&eacute;', 'noir', 'cafeine');

// Liste de toutes les variables
list($drink, $color, $power) = $info;
print
"$drink est $color et la $power le rend particulier.\n";

// Liste de certaines variables
list($drink, , $power) = $info;
print
"$drink contient de la $power.\n";

// Ou bien, n'utilisons que le troisi&egrave;me
list( , , $power) = $info;
print
"J'ai besoin de $power!\n";

?>

Exemple 2. Exemple avec list() et MySQL

<table>
<tr>
  <th>Nom de l'employ&eacute;</th>
  <th>Salaire</th>
</tr>

<?php

$resultat
= mysql_query ("SELECT id, nom, salaire FROM employes",$conn);
while (list (
$id, $nom, $salaire) = mysql_fetch_row ($resultat)) {
    print (
" <tr>\n".
           
"  <td><a href=\"info.php?id=$id\">$nom</a></td>\n".
           
"  <td>$salaire</td>\n".
           
" </tr>\n");
}

?>
</table>

Avertissement

list() assigne les valeurs en commençant par la valeur la plus à droite. Si vous utiliser ces variables, ce ne sera pas un problème. Mais si vous utilisez des tableaux, vous serez surpris de voir que list() les affecte de droite à gauche.

Exemple 3. Exemple avec list() en tenant compte de l'ordre

<?php

$info
= array('caf&eacute;', 'noir', 'cafeine');

list(
$a[0], $a[1], $a[2]) = $info;

var_dump($a);

?>
Cet exemple donne le résultat suivant (notez l'ordre d'affichage des éléments, en comparaison avec l'ordre dans lequel ils ont été écrits dans la syntaxe de list()) :
array(3) {
  [2]=>
  string(8) "cafeine"
  [1]=>
  string(5) "noir"
  [0]=>
  string(6) "caf&eacute;"
}

Voir aussi each(), array() et extract().