Manuel PHP
list
(PHP 4, PHP 5)
list — Transforme une liste de variables en tableau
Description
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.
Liste de paramètres
- varname
-
Une variable.
Valeurs de retour
Aucune valeur n'est retournée.
Exemples
Exemple #1 Exemple avec list()
- <?php
- $info = array('coffee', 'brown', 'caffeine');
- // Liste toutes les variables
- list($drink, $color, $power) = $info;
- echo "$drinkis$colorand$powermakes it special.\n";
- // Liste certaines variables
- list($drink, , $power) = $info;
- echo "$drinkhas$power.\n";
- // Ou bien, n'utilisons que le troisième
- list( , , $power) = $info;
- echo "I need$power!\n";
- // list() ne fonctionne pas avec les chaînes de caractères
- list($bar) = "abcde";
- var_dump($bar); // NULL
- ?>
Exemple #2 Exemple d'utilisation de list()
- <table>
- <tr>
- <th>Employee name</th>
- <th>Salary</th>
- </tr>
- <?php
- $result = mysql_query("SELECT id, name, salary FROM employees", $conn);
- while (list($id, $name, $salary) = mysql_fetch_row($result)) {
- echo " <tr>\n" .
- "<td><a href=\"info.php?id=$id\">$name</a></td>\n" .
- "<td>$salary</td>\n" .
- " </tr>\n";
- }
- ?>
- </table>
Exemple #3 Utilisation d'un sous-list()
- <?php
- list($a, list($b, $c)) = array(1, array(2, 3));
- var_dump($a, $b, $c);
- ?>
Exemple #4 Utilisation de list() en tenant compte de l'ordre
- <?php
- $info = array('coffee', 'brown', 'caffeine');
- 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()) :
Notes
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.
Note: list() fonctionne uniquement avec des tableaux à indexation numérique, et suppose que l'indexation commence à 0.
Remonter 
