PHP标准库(SPL)学习之RecursiveArrayIterator

发布于 2017-03-10 02:44:21 阅读 275
<?php
$myArray = array(
    0 => 'a',
    1 => array('subA','subB',array(0 => 'subsubA', 1 => 'subsubB', 2 => array(0 => 'deepA', 1 => 'deepB'))),
    2 => 'b',
    3 => array('subA','subB','subC'),
    4 => 'c'
);
$iterator = new RecursiveArrayIterator($myArray);

iterator_apply($iterator, 'test', [$iterator]);

function test($iterator){
    while ($iterator->valid()){
        if($iterator->hasChildren()){
            test($iterator->getChildren());
        }else{
            echo $iterator->key().$iterator->current().PHP_EOL;
        }
        $iterator->next();
    }
}