与 array() 类似,list() 实际上是一种语言结构,不是函数。
list()函数作用:将数组的元素变成变量使用。
- 等号左边是list()函数,右边是索引数组(下标连续的,按0开始);
- 数组中有几个元素,则list()有几个参数(参数必须是变量不能是值,而且变量是自定义的变量),跟数组的值是一一对应关系;
- 在list()函数的参数中,空项也代表元素。
each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。
返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。
如果内部指针越过了数组范围,本函数将返回 FALSE。
举例代码:
list($a, , $c) = [1=>'aa', 2=>'bb', 0=>'cc']; echo $a.$b.$c; //ccbb 根据下标找对应的元素 $sports = array( 'football' => 'good', 'swimming' => 'very well', 'running' => 'not good'); while (list($key, $value) = each($sports)) { echo $key.": ".$value."
"; } $people = array("Bill", "Steve", "Mark", "David"); print_r (each($people)); $people = array("Bill", "Steve", "Mark", "David"); echo current($people) . "
"; // 当前元素是 Bill echo next($people) . "
"; // Bill 的下一个元素是 Steve echo current($people) . "
"; // 现在当前元素是 Steve echo prev($people) . "
"; // Steve 的上一个元素是 Bill echo end($people) . "
"; // 最后一个元素是 David echo prev($people) . "
"; // David 之前的元素是 Mark echo current($people) . "
"; // 目前的当前元素是 Mark echo reset($people) . "
"; // 把内部指针移动到数组的首个元素,即 Bill echo next($people) . "
"; // Bill 的下一个元素是 Steve print_r (each($people)); // 返回当前元素的键名和键值(目前是 Steve),并向前移动内部指针