(PHP 4, PHP 5, PHP 7)
list — 锟斤拷锟斤拷锟斤拷锟叫碉拷值锟斤拷锟斤拷一锟斤拷锟斤拷锟�
锟斤拷 array() 一锟斤拷锟斤拷锟解不锟斤拷锟斤拷锟斤拷锟侥猴拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆结构锟斤拷 list() 锟斤拷锟斤拷锟节碉拷锟轿诧拷锟斤拷锟节撅拷为一锟斤拷锟斤拷锟斤拷锟街碉拷锟�
Note:
锟斤拷 PHP 7.1.0 之前锟侥版本锟斤拷list() 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟介,锟斤拷锟劫讹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 0 锟斤拷始锟斤拷
PHP 5 锟斤,list() 锟斤拷锟斤拷锟揭边的诧拷锟斤拷锟斤拷始锟斤拷值锟斤拷 PHP 7 锟斤,list() 锟斤拷锟斤拷锟斤拷叩牟锟斤拷锟斤拷锟绞硷拷锟街碉拷锟�
锟斤拷锟斤拷锟斤拷玫锟斤拷锟斤拷谋锟斤拷锟斤拷锟斤拷锟斤拷玫锟斤拷锟斤拷锟揭伙拷恪� 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷司锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷椋拷锟斤拷锟斤拷锟斤拷锟斤拷玫锟斤拷慕锟斤拷锟斤拷锟斤拷 list() 锟斤拷写锟斤拷一锟斤拷锟角达拷锟斤拷锟揭的o拷锟斤拷锟斤拷 PHP 5 锟斤拷实锟斤拷锟较诧拷锟角o拷 锟斤拷锟斤拷锟斤拷锟洁反顺锟斤拷值锟侥★拷
通锟斤拷锟斤拷锟皆o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟节诧拷锟斤拷锟斤拷顺锟斤拷锟斤拷未锟斤拷锟斤拷锟杰伙拷锟劫次凤拷锟斤拷锟睫改★拷
锟斤拷 list() 执锟叫癸拷锟斤拷锟斤拷锟睫革拷锟斤拷锟介(锟斤拷锟斤拷使锟斤拷 list($a, $b) = $b锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆ぶ拷慕锟斤拷锟斤拷
var1
一锟斤拷锟斤拷锟斤拷锟斤拷
锟斤拷锟斤拷指锟斤拷锟斤拷锟斤拷锟介。
锟芥本 | 说锟斤拷 |
---|---|
7.1.0 | 锟斤拷锟节匡拷锟斤拷指锟斤拷 list() 锟叫的硷拷锟斤拷 锟斤拷涂锟斤拷越夤癸拷锟斤拷锟斤拷旨锟斤拷锟斤拷锟斤拷锟剿筹拷锟斤拷锟斤拷锟介。 |
7.0.0 | 锟斤拷值锟斤拷锟斤拷锟斤拷顺锟斤拷锟斤拷锟剿变化锟斤拷 |
7.0.0 | list() 锟斤拷锟绞斤拷锟斤拷倏锟斤拷锟斤拷锟饺拷铡锟� |
7.0.0 | 锟街凤拷锟斤拷锟睫凤拷锟劫憋拷锟斤拷锟斤拷锟絬npack锟斤拷锟斤拷 |
Example #1 list() 锟斤拷锟斤拷
<?php
$info = array('coffee', 'brown', 'caffeine');
// 锟叫筹拷锟斤拷锟叫憋拷锟斤拷
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";
// 锟叫筹拷锟斤拷锟角碉拷锟斤拷锟斤拷一锟斤拷
list($drink, , $power) = $info;
echo "$drink has $power.\n";
// 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷
list( , , $power) = $info;
echo "I need $power!\n";
// list() 锟斤拷锟杰讹拷锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷
list($bar) = "abcde";
var_dump($bar); // NULL
?>
Example #2 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>
Example #3 使锟斤拷嵌锟阶碉拷 list()
<?php
list($a, list($b, $c)) = array(1, array(2, 3));
var_dump($a, $b, $c);
?>
int(1) int(2) int(3)
Example #4 锟斤拷 list() 锟斤拷使锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟阶拷獾ピ筹拷锟斤拷 list() 锟斤法锟斤拷锟斤拷写锟斤拷顺锟斤拷谋冉希锟斤拷锟�
Output of the above example in PHP 7:
array(3) { [0]=> string(6) "coffee" [1]=> string(5) "brown" [2]=> string(8) "caffeine" }
Output of the above example in PHP 5:
array(3) { [2]=> string(8) "caffeine" [1]=> string(5) "brown" [0]=> string(6) "coffee" }
Example #5 list() 锟斤拷锟斤拷锟斤拷顺锟斤拷锟斤拷
list() 使锟斤拷 array 锟斤拷锟斤拷锟斤拷顺锟斤拷锟斤拷锟斤拷锟绞憋拷锟斤拷锟斤拷薰亍锟�
<?php
$foo = array(2 => 'a', 'foo' => 'b', 0 => 'c');
$foo[1] = 'd';
list($x, $y, $z) = $foo;
var_dump($foo, $x, $y, $z);
锟矫碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟阶拷锟饺斤拷 list() 锟斤拷写锟斤拷元锟斤拷顺锟津)o拷
array(4) { [2]=> string(1) "a" ["foo"]=> string(1) "b" [0]=> string(1) "c" [1]=> string(1) "d" } string(1) "c" string(1) "d" string(1) "a"
Example #6 锟斤拷锟斤拷锟斤拷 list()
锟斤拷 PHP 7.1.0 锟斤拷始锟斤拷list() 锟斤拷锟皆帮拷锟斤拷锟斤拷式锟侥硷拷锟斤拷锟缴革拷值锟斤拷锟斤拷锟斤拷锟斤拷式锟斤拷 锟斤拷锟皆伙拷锟绞癸拷锟斤拷锟斤拷趾锟斤拷址锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷遣锟斤拷芑锟斤拷锟叫硷拷锟斤拷锟睫硷拷锟斤拷锟杰伙拷锟矫★拷
<?php
$data = [
["id" => 1, "name" => 'Tom'],
["id" => 2, "name" => 'Fred'],
];
foreach ($data as ["id" => $id, "name" => $name]) {
echo "id: $id, name: $name\n";
}
echo PHP_EOL;
list(1 => $second, 3 => $fourth) = [1, 2, 3, 4];
echo "$second, $fourth\n";
锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�
id: 1, name: Tom id: 2, name: Fred 2, 4