list() 函數(shù)把數(shù)組中的值分配給一組變量
list ( $var1, $var2, $var3.. )
像 array() 一樣,這不是真正的函數(shù),而是語言結(jié)構(gòu)。 list() 可以在單次操作內(nèi)就為一組變量賦值。
注意:PHP 5 里,list() 從最右邊的參數(shù)開始賦值; PHP 7 里,list() 從最左邊的參數(shù)開始賦值。
| 序號(hào) | 參數(shù)及說明 |
|---|---|
| 1 | var1(必需) 要為其賦值的第一個(gè)變量 |
| 2 | var2(可選) 要為其賦值的第二個(gè)變量 |
| 3 | var3(可選) 要為其賦值的第三個(gè)變量 |
這不會(huì)返回任何內(nèi)容。
<?php
$fruit = array("mango","apple","banana");
list($a, $b, $c) = $fruit;
echo "我有幾個(gè)水果, $a, $b 和 $c.";
?>測(cè)試看看?/?輸出結(jié)果:
我有幾個(gè)水果, mango, apple 和 banana
在 list() 中使用數(shù)組索引
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>測(cè)試看看 ?/?輸出結(jié)果:
array(3) {
[0]=>
string(6) "coffee"
[1]=>
string(5) "brown"
[2]=>
string(8) "caffeine"
}帶鍵的 list(),從 PHP 7.1.0 開始,list() 可以包含顯式的鍵,可賦值到任意表達(dá)式。 可以混合使用數(shù)字和字符串鍵。但是不能混合有鍵和無鍵不能混用。
<?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";
?>測(cè)試看看 ?/?輸出結(jié)果:
id: 1, name: Tom id: 2, name: Fred 2, 4