(PHP 5 >= 5.4.0, PHP 7, PHP 8)
RecursiveCallbackFilterIterator::hasChildren — Проверяет, содержит ли текущий элемент внутреннего итератора дочерние элементы
Сигнатура функции не содержит параметров.
   Возвращает true, если у текущего элемента есть дочерние элементы и false, если нет.
  
Пример #1 Пример использования RecursiveCallbackFilterIterator::hasChildren()
<?php
$dir = new RecursiveDirectoryIterator(__DIR__);
// Рекурсивный обход XML файлов
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
    // просматривать директории
    if ($iterator->hasChildren()) {
        return TRUE;
    }
    // отбор XML файлов
    if (!strcasecmp($current->getExtension(), 'xml')) {
        return TRUE;
    }
    return FALSE;
});
?>
