<p >list<br />
(PHP 3, PHP 4, PHP 5)</p>
<p >list -- 把数组中的值赋给一些变量<span class="Apple-converted-space"></span><br />
说明<br />
void list ( mixed varname, mixed ... )</p>
<p ><br />
像 array() 一样,这不是真正的函数,而是语言结构。list() 用一步操作给一组变量进行赋值。</p>
<p >注: list() 仅能用于数字索引的数组并假定数字索引从 0 开始。</p>
<p >例子 1. list() 例子</p>
<p ><?php</p>
<p >$info = array('coffee', 'brown', 'caffeine');</p>
<p >// Listing all the variables<br />
list($drink, $color, $power) = $info;<br />
echo "$drink is $color and $power makes it special.n";</p>
<p >// Listing some of them<br />
list($drink, , $power) = $info;<br />
echo "$drink has $power.n";</p>
<p >// Or let's skip to only the third one<br />
list( , , $power) = $info;<br />
echo "I need $power!n";</p>
<p >?><span class="Apple-converted-space"></span><br />
</p>
<p ><br />
例子 2. 使用 list() 的例子</p>
<p ><table><br />
<tr><br />
<th>Employee name</th><br />
<th>Salary</th><br />
</tr></p>
<p ><?php</p>
<p >$result = mysql_query("SELECT id, name, salary FROM employees",$conn);<br />
while (list($id, $name, $salary) = mysql_fetch_row($result)) {<br />
echo " <tr>n".<br />
" <td><a href="info.php?id=$id">$name</a></td>n".<br />
" <td>$salary</td>n".<br />
" </tr>n";<br />
}</p>
<p >?></p>
<p ></table><span class="Apple-converted-space"></span><br />
</p>
<p ></p>
<p >警告<span class="Apple-converted-space"></span><br />
list() 从最右边一个参数开始赋值。如果你用单纯的变量,不用担心这一点。但是如果你用了具有索引的数组,通常你期望得到的结果和在 list() 中写的一样是从左到右的,但实际上不是。是以相反顺序赋值的。<span class="Apple-converted-space"></span><br />
</p>
<p >例子 3. 在 list() 中使用数组索引</p>
<p ><?php<br />
$info = array('coffee', 'brown', 'caffeine');<br />
list($a[0], $a[1], $a[2]) = $info;<br />
var_dump($a);<br />
?></p>
<p >产生如下输出(注意单元顺序和 list() 语法中所写的顺序的比较):</p>
<p >array(3) {<br />
[2]=><br />
string(8) "caffeine"<br />
[1]=><br />
string(5) "brown"<br />
[0]=><br />
string(6) "coffee"<br />
}<br />
<br />
</p>
<p ><br />
</p>