The RecursiveArrayIterator class

(PHP 5 >= 5.1.0, PHP 7)

Introduction

This iterator allows to unset and modify 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

RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Inherited constants */
const integer STD_PROP_LIST = 1 ;
const integer ARRAY_AS_PROPS = 2 ;
/* Constants */
const integer CHILD_ARRAYS_ONLY = 4 ;
/* Methods */
public hasChildren ( void ) : bool
/* Inherits */
public ArrayIterator::append ( mixed $value ) : void
public ArrayIterator::asort ( void ) : void
public ArrayIterator::__construct ([ mixed $array = array() [, int $flags = 0 ]] )
public ArrayIterator::count ( void ) : int
public ArrayIterator::current ( void ) : mixed
public ArrayIterator::getArrayCopy ( void ) : array
public ArrayIterator::getFlags ( void ) : int
public ArrayIterator::key ( void ) : mixed
public ArrayIterator::ksort ( void ) : void
public ArrayIterator::natcasesort ( void ) : void
public ArrayIterator::natsort ( void ) : void
public ArrayIterator::next ( void ) : void
public ArrayIterator::offsetExists ( mixed $index ) : bool
public ArrayIterator::offsetGet ( mixed $index ) : mixed
public ArrayIterator::offsetSet ( mixed $index , mixed $newval ) : void
public ArrayIterator::offsetUnset ( mixed $index ) : void
public ArrayIterator::rewind ( void ) : void
public ArrayIterator::seek ( int $position ) : void
public ArrayIterator::serialize ( void ) : string
public ArrayIterator::setFlags ( string $flags ) : void
public ArrayIterator::uasort ( callable $cmp_function ) : void
public ArrayIterator::uksort ( callable $cmp_function ) : void
public ArrayIterator::unserialize ( string $serialized ) : void
public ArrayIterator::valid ( void ) : bool
}

Predefined Constants

RecursiveArrayIterator Flags

RecursiveArrayIterator::CHILD_ARRAYS_ONLY

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

Changelog

Version Description
5.3.0 CHILD_ARRAYS_ONLY flag was added.

Table of Contents