라이브러리
[PHP] RecursiveArrayIterator::getChildren - 배열 또는 객체인 경우 현재 항목에 대한 반복자를 반환합니다.
RecursiveArrayIterator::getChildren()
RecursiveArrayIterator는 PHP의 SPL(Split) 모듈에서 제공하는 Iterator입니다. RecursiveArrayIterator는 Nested Array를 Iterator로 처리할 수 있도록 해줍니다.
RecursiveArrayIterator::getChildren() 메소드는 RecursiveArrayIterator의 자식 요소를 반환합니다.
예제
#hostingforum.kr
php
// Nested Array
$data = [
'A' => [
'A1' => 'Value 1',
'A2' => 'Value 2',
'A3' => [
'A31' => 'Value 31',
'A32' => 'Value 32',
],
],
'B' => [
'B1' => 'Value 11',
'B2' => 'Value 12',
],
];
// RecursiveArrayIterator 생성
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($data));
// RecursiveArrayIterator::getChildren() 사용
foreach ($iterator as $key => $value) {
if ($iterator->isLeaf()) {
echo "Leaf Node: $key => $value
";
} else {
echo "Parent Node: $key
";
$children = $iterator->getChildren();
foreach ($children as $childKey => $childValue) {
echo " Child Node: $childKey => $childValue
";
}
}
}
결과
#hostingforum.kr
Parent Node: A
Child Node: A1 => Value 1
Child Node: A2 => Value 2
Parent Node: A3
Child Node: A31 => Value 31
Child Node: A32 => Value 32
Parent Node: B
Child Node: B1 => Value 11
Child Node: B2 => Value 12
Leaf Node: A3 => Array
Leaf Node: B => Array
설명
위 예제에서 RecursiveArrayIterator::getChildren() 메소드는 Nested Array의 자식 요소를 반환합니다. RecursiveIteratorIterator는 RecursiveArrayIterator의 자식 요소를 Iterator로 처리합니다.
RecursiveIteratorIterator::isLeaf() 메소드는 현재 Iterator가 Leaf Node인지 아닌지를 확인합니다. Leaf Node는 자식 요소가 없는 Node입니다.
RecursiveIteratorIterator::getChildren() 메소드는 RecursiveArrayIterator의 자식 요소를 반환합니다.
참고
- RecursiveArrayIterator:
- RecursiveIteratorIterator:
- SPL:
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.