
RecursiveArrayIterator::hasChildren 메서드는 RecursiveIteratorIterator의 hasChildren 메서드를 호출합니다. RecursiveIteratorIterator는 RecursiveArrayIterator를 상속받고, RecursiveArrayIterator는 RecursiveIteratorInterface를 구현합니다.
RecursiveIteratorInterface의 hasChildren 메서드는 현재 아이템이 자식 아이템을 가질 수 있는지 여부를 반환합니다. RecursiveArrayIterator의 경우, 현재 아이템이 배열일 때만 자식 아이템을 가질 수 있습니다.
위의 예제에서, 'c'라는 키가 배열을 가리키고 있기 때문에, RecursiveArrayIterator::hasChildren 메서드는 true를 반환합니다. 반면, 'a'와 'b'라는 키가 숫자를 가리키기 때문에, RecursiveArrayIterator::hasChildren 메서드는 false를 반환합니다.
RecursiveArrayIterator::hasChildren 메서드는 현재 아이템이 배열일 때만 자식 아이템을 가질 수 있으므로, 현재 아이템이 배열인지 여부를 확인하는 메서드라고 볼 수 있습니다.
#hostingforum.kr
php
$array = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4
]
];
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
echo $iterator->hasChildren() ? 'true' : 'false'; // true
echo $iterator->hasChildren() ? 'true' : 'false'; // false
echo $iterator->hasChildren() ? 'true' : 'false'; // true
2025-05-18 08:48