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