foreach数组指针
1.指针其实也是一个变量,用来保存某个元素的地址。指针可以移动。
2.默认情况下,打开一个数组,指针会指向数组的第一个元素。
语法结构foreach(数组 as 键=>值){ 循环体 }
流程图
foreach是循环,break和continue也适用于foreach循环
foreach值变量支持传地址
注意:键变量不支持传地址。
foreach循环变量数组的时候,遍历的是数组的拷贝
数组指针的操作
1.key() —— 从关联数组中取得键名,没有取到返回NULL。
2.current() – 返回数组中的当前单元
3.next() —– 返回数组中的当前单元
4.prev() —– 将数组的内部指针倒回一位
5.reset() —- 将数组的内部指针指向第一个单元
6.end() —— 将数组的内部指针指向最后一个单元
例题:将数组的元素从后往前取
注意:如果一个数组连续输出两次,必须要将指针复位。
each()函数的使用
1.返回数组当前的键/值对并将数组指针向前移动一步,如果内部指针穿越了数组的末尾返回false
2.键值对返回4个单元,其中包含索引数组和关联数组,下标是key和0的是键,下标是1和value的是值。
3.each()=key()+current()+next()
4.如果第二次再遍历,必须通过reset()复位指针。
通过while+each遍历数组