array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'class.arrayiterator.php', 1 => 'ArrayIterator', ), 'up' => array ( 0 => 'spl.iterators.php', 1 => 'Итераторы', ), 'prev' => array ( 0 => 'appenditerator.valid.php', 1 => 'AppendIterator::valid', ), 'next' => array ( 0 => 'arrayiterator.append.php', 1 => 'ArrayIterator::append', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/spl/arrayiterator.xml', ), 'extra_header_links' => array ( 'rel' => 'alternate', 'href' => '/manual/en/feeds/class.arrayiterator.atom', 'type' => 'application/atom+xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
Класс делает возможным удаление элементов и изменение ключей или значений при итерации по массивам или объектам.
Для многократного перебора одного и того же массива создают экземпляр класса ArrayObject и разрешают ему создавать экземпляры объектов ArrayIterator, которые ссылаются на него либо через конструкцию foreach, либо путём вызова его метода getIterator() вручную.
ArrayIterator::STD_PROP_LIST
Свойства объекта ведут себя так же, как при доступе к ним как к элементам списка (var_dump, foreach и т. д.).
ArrayIterator::ARRAY_AS_PROPS
Класс открывает доступ к элементам как к свойствам объекта при чтении и записи.