
RecursiveTreeIterator::beginChildren() 함수를 호출한 후 next() 함수를 호출하면 children iterator가 반환되는데, 이때 children iterator가 현재 노드의 자식 노드 중 첫 번째 노드인지를 확인하려면,
#hostingforum.kr
php
$childrenIterator->valid() === false
를 체크하면 됩니다. valid() 함수는 현재 아이템이 유효한지 확인하는 함수입니다. 유효한 아이템이 없을 때 false를 반환합니다.
#hostingforum.kr
php
$tree = new MyTree('/path/to/tree');
$iterator = new RecursiveTreeIterator($tree);
$childrenIterator = $iterator->beginChildren();
if ($childrenIterator->valid() === false) {
// 자식 노드가 없을 때
} else {
// 자식 노드가 첫 번째 노드일 때
}
또는,
#hostingforum.kr
php
$tree = new MyTree('/path/to/tree');
$iterator = new RecursiveTreeIterator($tree);
$childrenIterator = $iterator->beginChildren();
if ($childrenIterator->key() === 0) {
// 자식 노드가 첫 번째 노드일 때
}
를 사용할 수도 있습니다. key() 함수는 현재 아이템의 키를 반환합니다.
#hostingforum.kr
php
$tree = new MyTree('/path/to/tree');
$iterator = new RecursiveTreeIterator($tree);
$childrenIterator = $iterator->beginChildren();
if ($childrenIterator->key() === 0) {
// 자식 노드가 첫 번째 노드일 때
// ...
} else {
// 자식 노드가 첫 번째 노드가 아닐 때
// ...
}
2025-03-04 14:16