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