표준 PHP 라이브러리(SPL) RecursiveIteratorIterator::__construct

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

RecursiveIteratorIterator::__construct — RecursiveIteratorIterator를 생성합니다.


설명

public RecursiveIteratorIterator::__construct(Traversable $iterator, int $mode = RecursiveIteratorIterator::LEAVES_ONLY, int $flags = 0)

RecursiveIterator에서 RecursiveIteratorIterator를 만듭니다.


매개변수

iterator
생성되는 반복기입니다. RecursiveIterator 또는 IteratorAggregate입니다.
mode
옵션 모드. 가능한 값은
  • RecursiveIteratorIterator::LEAVES_ONLY - 기본값입니다. 반복되는 리프만 나열합니다.
  • RecursiveIteratorIterator::SELF_FIRST - Lists leaves and parents in iteration with parents coming first.
  • RecursiveIteratorIterator::CHILD_FIRST - Lists leaves and parents in iteration with leaves coming first.
flags
선택적 플래그입니다. 가능한 값은 RecursiveIteratorIterator::CATCH_GET_CHILD입니다. 그러면 RecursiveIteratorIterator::getChildren()에 대한 호출에서 발생한 예외를 무시합니다.

Examples

예제 #1 RecursiveIteratorIterator 반복하기

                  
<?php
$array = array(
    array(
        array(
            array(
                'leaf-0-0-0-0',
                'leaf-0-0-0-1'
            ),
            'leaf-0-0-0'
        ),
        array(
            array(
                'leaf-0-1-0-0',
                'leaf-0-1-0-1'
            ),
            'leaf-0-1-0'
        ),
        'leaf-0-0'
    )
);

$iterator = new RecursiveIteratorIterator(
    new RecursiveArrayIterator($array),
    $mode
);
foreach ($iterator as $key => $leaf) {
    echo "$key => $leaf", PHP_EOL;
}
?>
                  
                

$mode = RecursiveIteratorIterator::LEAVES_ONLY로 출력

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => leaf-0-0-0
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => leaf-0-1-0
0 => leaf-0-0
                

$mode = RecursiveIteratorIterator::SELF_FIRST로 출력

0 => Array
0 => Array
0 => Array
0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
1 => leaf-0-0-0
1 => Array
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
1 => leaf-0-1-0
2 => leaf-0-0
                

$mode = RecursiveIteratorIterator::CHILD_FIRST로 출력

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => Array
1 => leaf-0-0-0
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => Array
1 => leaf-0-1-0
1 => Array
2 => leaf-0-0
0 => Array