(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.