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