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