Для того, чтобы объект твоего класса мог использоваться в конструкции foreach также, как обычный массив. В документации это описано.
Я читал документацию, но так и не понял его основную область применения, я могу перебирать массив объектов без этого интерфейса.
@kentkent7 он нужен чтобы сам объект твоего класса, а не массив с объектами, передать в foreach, а так же в функции next(), current() и т.д. Хотя недавно появилось более изящное решение в виде генераторов.
А я думал, что основная цель - работа с большими массивами, с которыми родной foreach справляется плохо
@Walk, интерфейс ни с чем не работает по определению --- Добавлено --- Есть, конечно, такая штука: https://php.ru/manual/class.arrayobject.html, но я ни разу не пользовался
@Walk из за того что объект не копируется по воле пхп, итератор может быть экономичнее в плане памяти.
знаю, мало ли как человек объект называет. я об этом и написал)) и не может быть, а точно экономнее. И чем больше массив - тем разумнее использовать итератор.