Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<ParentIterator::rewindRecursiveArrayIterator::getChildren>
^IteratorsLast updated: Mon, 26 Oct 2026

The RecursiveArrayIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Introduction

This iterator allows for unsetting and modifying values and keys while iterating over arrays and objects, in the same way as the ArrayIterator. Additionally, it is possible to iterate over the current iterator entry.

Class synopsis

class RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Inherited constants */
/* Constants */
public const int CHILD_ARRAYS_ONLY;
/* Methods */
public function hasChildren(): bool
/* Inherited methods */
public function ArrayIterator::__construct(array|object $array = [], int $flags = 0)
public function ArrayIterator::append(mixed $value): void
public function ArrayIterator::asort(int $flags = SORT_REGULAR): true
public function ArrayIterator::count(): int
public function ArrayIterator::current(): mixed
public function ArrayIterator::getFlags(): int
public function ArrayIterator::key(): string|int|null
public function ArrayIterator::ksort(int $flags = SORT_REGULAR): true
public function ArrayIterator::natcasesort(): true
public function ArrayIterator::natsort(): true
public function ArrayIterator::next(): void
public function ArrayIterator::offsetExists(mixed $key): bool
public function ArrayIterator::offsetGet(mixed $key): mixed
public function ArrayIterator::offsetSet(mixed $key, mixed $value): void
public function ArrayIterator::offsetUnset(mixed $key): void
public function ArrayIterator::rewind(): void
public function ArrayIterator::seek(int $offset): void
public function ArrayIterator::serialize(): string
public function ArrayIterator::setFlags(int $flags): void
public function ArrayIterator::uasort(callable $callback): true
public function ArrayIterator::uksort(callable $callback): true
public function ArrayIterator::unserialize(string $data): void
public function ArrayIterator::valid(): bool
}

Predefined Constants

RecursiveArrayIterator Flags

RecursiveArrayIterator::CHILD_ARRAYS_ONLY

Treat only arrays (not objects) as having children for recursive iteration.

Changelog

Version Description
8.4.0 The class constants are now typed.

Table of Contents


<ParentIterator::rewindRecursiveArrayIterator::getChildren>
^IteratorsLast updated: Mon, 26 Oct 2026