(PHP 4, PHP 5)
list — 把數組中的值賦給一些變量
說明
array list ( mixed$varname
[, mixed $...
] )
像 array() 一樣,這不是真正的函數,而是語言結構。list() 用一步操作給一組變量進行賦值。
參數
varname
一個變量。
返回值
返回指定的數組。
范例
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 = mysql_query("SELECT id, name, salary FROM employees", $conn);
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
echo " <tr>n" .
" <td><a ;
}
?>
</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() 語法中所寫的順序的比較):
array(3) { [2]=> string(8) "caffeine" [1]=> string(5) "brown" [0]=> string(6) "coffee" }
注釋
Warninglist() 從最右邊一個參數開始賦值。如果你用單純的變量,不用擔心這一點。 但是如果你用了具有索引的數組,通常你期望得到的結果和在 list() 中寫的一樣是從左到右的,但實際上不是。 它是以相反順序賦值的。
Warning在 list() 執行過程中修改數組(比如使用 list($a, $b) = $b)將會產生不可預知的結果。
Note:
list() 僅能用于數字索引的數組并假定數字索引從 0 開始。
參見
each() - 返回數組中當前的鍵/值對并將數組指針向前移動一步 array() - 新建一個數組 extract() - 從數組中將變量導入到當前的符號表