each()函数是返回当前数组元素的键名和键值,并指向下一个元素。使用代码如(图1)
但是当我们还需要用each遍历这个相同的数组就会发现,无论如何都无法再次遍历,这是为什么呢?因为我们调用一次each函数之后,指针已经指向数组的最后一个元素,所以想要再次使用each遍历数组就需要使用reset()函数将指针归位,再次指向数组中第一个元素。对于一维数组,只需要简单的用reset($要重置的数组名字);但是对于二维数组,例如图1中的那个$listarr数组,因为每次each函数操作的是$listarr数组中的子数组,那么相对,我们使用reset函数也要重置$listarr子数组,而不是$listarr数组。具体代码如(图2)
通过for循环遍历$listarr的子数组,并用reset函数将所有子数组全部重置,让每个子数组的指针重新指向该子数组的开始位置。当再次使用each函数时就可以进行数组遍历的操作了。