list():
list()不是真正的函数,而是php语法结构。用一步操作给一组变量赋值,即把数组中的值赋值给一些变量。
list()仅能用于数字缩影的数组,并且假定数字索引从0开始。
$array = array('Tom', 'Ann', 'Bob');
list($tom, $ann, $bob) = $array; //将数组中三个元素赋值给三个变量
list($tom,$ann) = $array; //将数组中的前两个变量赋值给变量,第三个值无用
list(, , $bob) = $array; //将数组的第三个值赋值给变量,前两个值无用
each():
传入一个数组作为参数,返回数组中当前元素的键/值,并向后移动数组指针到下一个元素的位置。
键/值返回四个元素的数组,键名分别为0,1,key,value 。
0和key对应的值一样,是数组的键名,1和value返回包含数组的元素的值;
如果内部指针超过数组末尾,则返回false.
$array = array('id'=>1); // 0 = id; key = id; 1 = 1; value = 1;
list()与each()结合遍历
$person = array('id'=>1, 'name'=>'Tom', 'company'=>'companyA');
list($key, $value) = each($person);
echo "$key=>$value";
list()函数仅能使用数字索引的数组,且从0开始,所以只有下表0和1有效。
假如array为each返回数组,即$key = array[0] = id; $value = array[1] = 1;这样的形式
然后可以使用while()语句
while(list($key, $value) = each(array)){
//循环体
}