
RecursiveCallbackFilterIterator의 hasChildren 메서드는 트리 구조의 노드가 자식 노드를 가지고 있는지 여부를 확인하는 메서드입니다.
이 메서드는 노드가 자식 노드를 가지고 있는 경우 true를 반환하고, 없을 경우 false를 반환합니다.
이 메서드를 사용하여 트리 구조의 노드가 자식 노드를 가지고 있는지 여부를 확인할 수 있습니다.
예를 들어, 다음과 같은 트리 구조가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
$tree = array(
'A' => array('B', 'C'),
'B' => array('D', 'E'),
'C' => array('F'),
'D' => array(),
'E' => array(),
'F' => array()
);
이 트리 구조에서 'A' 노드는 자식 노드 'B'와 'C'를 가지고 있으므로, RecursiveCallbackFilterIterator의 hasChildren 메서드를 사용하여 'A' 노드의 자식 노드가 있는지 확인하면 true를 반환합니다.
#hostingforum.kr
php
$iterator = new RecursiveCallbackFilterIterator(new RecursiveArrayIterator($tree), function ($node) {
return true;
});
echo $iterator->hasChildren() ? 'true' : 'false'; // true
반면에 'D' 노드는 자식 노드가 없으므로, RecursiveCallbackFilterIterator의 hasChildren 메서드를 사용하여 'D' 노드의 자식 노드가 있는지 확인하면 false를 반환합니다.
#hostingforum.kr
php
$iterator = new RecursiveCallbackFilterIterator(new RecursiveArrayIterator($tree), function ($node) {
return $node == 'D';
});
echo $iterator->hasChildren() ? 'true' : 'false'; // false
2025-06-03 19:11