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