(PHP 5, PHP 7, PHP 8)
Позволяет удалять элементы, изменять ключи или значения при итерации по массивам или объектам.
Когда вы хотите перебрать один и тот же массив несколько раз, вам нужно создать экземпляр ArrayObject и создать для него объекты ArrayIterator, ссылающиеся на него либо при помощи foreach или при вызове метода getIterator() вручную.
ArrayIterator::STD_PROP_LIST
Свойства имеют обычную функциональность при доступе в виде списке (var_dump, foreach и т.д.).
ArrayIterator::ARRAY_AS_PROPS
Записи могут быть доступны как свойства (чтение и запись).