其实,PHP里List()并不是函数,而是和foreach、while、if一样的语言结构。
list()函数仅能用于数字索引的数组,且假定数字索引是从0开始。
看例子:
NO1:
<?php
$book = array('linux服务器配置与管理','PHP程序设计');
list( $key,$value ) = $book;
echo $key.'=>'.$value.'
';
list( $first,$second ) = each($book);
echo $first.'=>'.$second.'
';
?>
$book = array('linux服务器配置与管理','PHP程序设计');
list( $key,$value ) = $book;
echo $key.'=>'.$value.'
';
list( $first,$second ) = each($book);
echo $first.'=>'.$second.'
';
?>
输出为:
linux服务器配置与管理=>PHP程序设计
0=>linux服务器配置与管理
0=>linux服务器配置与管理
再看,
<?php
$book = array('linux服务器配置与管理','PHP程序设计');
list( $key,$value ) = each($book);
echo $key.'=>'.$value.'
';
list( $first,$second ) = each($book);
echo $first.'=>'.$second.'
';
?>
$book = array('linux服务器配置与管理','PHP程序设计');
list( $key,$value ) = each($book);
echo $key.'=>'.$value.'
';
list( $first,$second ) = each($book);
echo $first.'=>'.$second.'
';
?>
输出为:
0=>linux服务器配置与管理
1=>PHP程序设计
1=>PHP程序设计
说明,list()是一个赋值结构,负责把右值分别付给它的各个参数,如$key、$value等。each()是返回数组信息,返回的第一个参数是键值,第二个参数是具体元素,然后数组中的指针自动向后指一下。可见,each()是把刀,专门把一个大面包(整个一个数组$book)切成一个个小片($book[0]、$book[1]),再给list()这个客户嘴边,这时就看怎么给了,用each()切后的都是小片(单个元素,即为键值和值的统一体),不用each()直接给的话,就不分小片,而是一口一口嚼了(每口都吃的是具体的内容),O(∩_∩)O哈哈~
NO2:
常用模式是:
<?php
$book = array('linux服务器配置与管理','PHP程序设计');
while(list( $key,$value ) = each($book))
echo $key.'=>'.$value;
?>
$book = array('linux服务器配置与管理','PHP程序设计');
while(list( $key,$value ) = each($book))
echo $key.'=>'.$value;
?>
输出为:
0=>linux服务器配置与管理
1=>PHP程序设计
1=>PHP程序设计