list

(PHP 4, PHP 5, PHP 7)

list      把数组中的值赋给一些变量    

说明

array list    ( mixed $varname   [, mixed $...  ] )

array() 一样,这不是真正的函数,而是语言结构。list()     用一步操作给一组变量进行赋值。

参数


  • varname

  • 一个变量。

返回值

返回指定的数组。

范例


Example #1 list() 例子


$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() 用法的一个例子


 

  

  

 



$result 
mysql_query("SELECT id, name, salary FROM employees"$conn);
while (list(
$id$name$salary) = mysql_fetch_row($result)) {
    echo 
\n" .
          
"  
\n" .
          
"  
\n" .
          
\n";
}

?>

Employee nameSalary
$id\">$name$salary


Example #3 使用嵌套的  list()


list($a, list($b$c)) = array(1, array(23));

var_dump($a$b$c);

?>

int(1)
int(2)
int(3)


Example #4 在 list() 中使用数组索引


$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 开始。