(PHP 4, PHP 5, PHP 7)
Assign variables as if they were an array
array list ( mixed $var1 [, mixed $... ] )
Like array(), this is not really a function, but a language construct. list() is used to assign a list of variables in one operation.
Parameters:
var1
A variable.
Returns:
Returns the assigned array.
Changelog:
7.0.0
The order that the assignment operations are performed in has changed.
7.0.0
list()
7.0.0
Strings can no longer be unpacked.
Notes:
list() only works on numerical arrays and assumes the numerical indices start at 0.
Examples:
list() examples
<?php $info = array('coffee', 'brown', 'caffeine'); // Listing all the variables list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special.\n"; // Listing some of them list($drink, , $power) = $info; echo "$drink has $power.\n"; // Or let's skip to only the third one list( , , $power) = $info; echo "I need $power!\n"; // list() doesn't work with strings list($bar) = "abcde"; var_dump($bar); // NULL ?>
An example use of list()
<table> <tr> <th>Employee name</th> <th>Salary</th> </tr> <?php $result = $pdo->query("SELECT id, name, salary FROM employees"); while (list($id, $name, $salary) = $result->fetch(PDO::FETCH_NUM)) { echo " <tr>\n" . " <td><a href=\"info.php?id=$id\">$name</a></td>\n" . " <td>$salary</td>\n" . " </tr>\n"; } ?> </table>
Using nested list()
<?php list($a, list($b, $c)) = array(1, array(2, 3)); var_dump($a, $b, $c); ?>
int(1) int(2) int(3)
Using list() with array indices
<?php $info = array('coffee', 'brown', 'caffeine'); list($a[0], $a[1], $a[2]) = $info; var_dump($a); ?>
Gives the following output (note the order of the elements compared in which order they were written in the list() syntax):
array(3) { [2]=> string(8) "caffeine" [1]=> string(5) "brown" [0]=> string(6) "coffee" }
See also:
each() -
array() -
Please login to continue.