(PHP 5, PHP 7, PHP 8)
Класс поддерживает удаление элементов, и изменение ключей или значений при итерации по массивам или объектам.
Для многократного перебора одного и того же массива рекомендуют создавать
экземпляр класса ArrayObject. Конструктор класса принимает
исходный массив и сохраняет массив внутренне. Затем к элементам внутреннего массива
обращаются либо путём передачи объекта ArrayObject в конструкцию foreach,
при которой объект массива неявно создаёт экземпляр итератора ArrayIterator,
либо путём вызова метода ArrayObject::getIterator() вручную.
ArrayIterator::STD_PROP_LIST
Флаг не изменяет способ доступа к свойствам объекта.
Динамические свойства сохраняются в объекте и выводятся функцией var_dump() стандартно,
а во внутреннее хранилище попадают только элементы исходного массива и элементы, которые добавили в объект синтаксисом массивов.
В итерации или обходе объекта языковой конструкцией foreach участвуют только элементы хранилища.
Доступ к элементам внутреннего массива возможен только через квадратные скобки.
ArrayIterator::ARRAY_AS_PROPSУстановка флага не изменяет способ доступа к текущим свойствам объекта, но динамические свойства наряду с элементами, которые добавляют в объект синтаксисом массива, сохраняются во внутреннем хранилище. Флаг разрешает доступ к элементам внутреннего хранилища как через синтаксис квадратных скобок, так и через оператор доступа к свойствам объекта.
| Версия | Описание |
|---|---|
| 8.4.0 | The class constants are now typed. |