Внутренний указатель массива в PHP указывает на текущий элемент и может сдвигаться на шаг вперёд — на следующий элемент или снова сбрасываться на первый элемент. habr.com
Некоторые функции, которые работают с внутренним указателем:
- reset() — устанавливает внутренний указатель на начало массива и возвращает значение первого элемента. www.softtime.ru
- end() — переносит курсор в конец массива. www.softtime.ru
- next() — перемещает курсор массива на следующий элемент, при этом возвращая значение элемента, на котором находился курсор до перемещения. www.softtime.ru Если элементов в массиве больше не осталось, функция возвращает false. www.softtime.ru
- prev() — производит перенос курсора назад на одну позицию. www.softtime.ru
- current() — возвращает значение элемента, на котором в данный момент находится курсор массива, при этом не сдвигая курсор. www.softtime.ru Если курсор оказался за пределами массива, или массив состоит из пустых элементов, функция возвращает false. www.softtime.ru
- key() — возвращает индекс текущего элемента массива. www.softtime.ru
- each() — возвращает пару «индекс — значение» текущего элемента массива и сдвигает курсор массива на следующий элемент. www.softtime.ru Если курсор достиг конца массива, функция возвращает false. www.softtime.ru
Такое устройство позволяет организовывать итерацию по массиву (перебор его элементов) в виде цикла. habr.com