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