您的位置:首页 > 编程语言 > PHP开发

php list()

2016-06-22 21:23 351 查看
(PHP 4, PHP 5, PHP 7)
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 href=\"info.php?id=$id\">$name</a></td>\n" .

          "  <td>$salary</td>\n" .

          " </tr>\n";

}

?>

</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"
}



注释

Warning
list() 从最右边一个参数开始赋值。如果你用单纯的变量,不用担心这一点。 但是如果你用了具有索引的数组,通常你期望得到的结果和在 list() 中写的一样是从左到右的,但实际上不是。 它是以相反顺序赋值的。

Warning
在 list() 执行过程中修改数组(比如使用 list($a, $b) = $b)将会产生不可预知的结果。

Note:
list() 仅能用于数字索引的数组并假定数字索引从 0 开始。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: