(PHP 5 >= 5.4.0, PHP 7)
RecursiveCallbackFilterIterator::hasChildren — Проверяет, содержит ли текущий элемент внутреннего итератора дочерние элементы
   Возвращает TRUE, если у текущего элемента есть дочерние, и FALSE, если нет.
  
У этой функции нет параметров.
   Возвращает 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;
});
?>