
list() 函数把数组中的值分配给一组变量
语法
list ( $var1, $var2, $var3.. )
定义和用法
像 array() 一样,这不是真正的函数,而是语言结构。 list() 可以在单次操作内就为一组变量赋值。
注意:PHP 5 里,list() 从最右边的参数开始赋值; PHP 7 里,list() 从最左边的参数开始赋值。
参数
| 序号 | 参数及说明 |
|---|---|
| 1 | var1(必需) 要为其赋值的第一个变量 |
| 2 | var2(可选) 要为其赋值的第二个变量 |
| 3 | var3(可选) 要为其赋值的第三个变量 |
返回值
这不会返回任何内容。
在线示例
<?php
$fruit = array("mango","apple","banana");
list($a, $b, $c) = $fruit;
echo "我有几个水果, $a, $b 和 $c.";
?>测试看看‹/›输出结果:
我有几个水果, mango, apple 和 banana
在线示例
在 list() 中使用数组索引
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>测试看看 ‹/›输出结果:
array(3) {
[0]=>
string(6) "coffee"
[1]=>
string(5) "brown"
[2]=>
string(8) "caffeine"
}在线示例
带键的 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