list

(PHP 3, PHP 4, PHP 5 )

list --  Transforme une liste de variables en tableau

Description

void list ( mixed varname, mixed ... )

Tout comme array(), list() n'est pas une véritable fonction, mais un élément de langage, qui permet de rassembler les variables varname, ... sous forme de tableau, pour les assigner 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é', 'noir', 'cafeine');

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

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

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

?>

Exemple 2. Exemple avec list() et MySQL

<table>
<tr>
  <th>Nom de l'employé</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)) {
    echo
" <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é', '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é"
}

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