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()函数相反。它是将当前指针往回移一个位置然后再返回新的当前元素。
例如,如下所示的代码将反向显示一个数组的内容:
如果$array数组的声明如下所示:
在这个例子中,浏览器中的输出结果就会是:
使用each()、current()、reset()、end()、next()、pos()和prev(),可以编写出你自己的、能按任何顺序浏览数组的代码。
| 回书目 上一节 下一节 |