到目前为止,大概只介绍了一半的PHP数组处理函数。此外,还有许多其他函数有时也非常有用。接下来,将详细介绍它们。
3.10.1 在数组中浏览:each、current、reset、end、next、pos和prev
前面已经提到,每个数组都有一个内部指针指向数组中的当前元素。当使用函数each时,就间接地使用了这个指针,但是也可以直接使用和操作这个指针。
如果创建一个新数组,那么当前指针就将被初始化,并指向数组的第一个元素。调用current($array_name)将返回第一个元素。
调用next或each将使指针前移一个元素。调用each($array_name)会在指针前移一个位置之前返回当前元素。next函数则有些不同——调用next($array_name)是将指针前移,然后再返回新的当前元素。
我们已经了解了reset函数将返回指向数组第一个元素的指针。类似地,调用end($array_name)可以将指针移到数组末尾。reset和end可以分别返回数组的第一个元素和最后一个元素。
要反向遍历一个数组,可以使用end和prev函数。prev函数和next函数相反。它是将当前指针往回移一个位置然后再返回新的当前元素。
例如,如下所示的代码将反向显示一个数组的内容:
$value=end($array);
while($value){
echo"$value<br/>”;
$value=prev($array);
}
如果$array数组的声明如下所示:
$array=array(1,2,3);
在这个例子中,浏览器中的输出结果就会是:
3
2
1
使用each、current、reset、end、next、pos和prev,可以编写出你自己的、能按任何顺序浏览数组的代码。