표준 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