Итераторы в PHP: руководство по коллекциям
Итераторы в PHP позволяют сделать объекты проходимыми в foreach, сохраняя строгую типизацию коллекций и отделяя логику обхода от данных. Для большинства коллекций достаточно реализовать IteratorAggregate и вернуть ArrayIterator; для сложной логики реализуйте Iterator или используйте готовые SPL-итераторы.