$data = array( 'first' => array( 'name' => 'John', 'age' => 30 ), 'second' => array( 'name' => 'Mary', 'age' => 25 ) ); $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($data)); foreach ($iterator as $key => $value) { if ($iterator->valid()) { echo $key . ' => ' . $value . "\n"; } }
first => Array name => John age => 30 second => Array name => Mary age => 25
$xml = ''; $doc = new SimpleXMLElement($xml); $iterator = new RecursiveIteratorIterator(new SimpleXMLIterator($doc->asXML())); foreach ($iterator as $key => $value) { if ($iterator->valid()) { echo $key . ' => ' . $value . "\n"; } } - Apple
- Banana
@attributes => Array id => 1 0 => Apple @attributes => Array id => 2 0 => BananaBoth examples use the built-in SPL extension which is a part of the PHP core library.