Клас RecursiveCallbackFilterIterator
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
Вступ
Огляд класів
    
     class RecursiveCallbackFilterIterator
    
    
     extends
      CallbackFilterIterator
    
    
     implements
      RecursiveIterator {
    /* Методы */
    
   public __construct(RecursiveIterator $iterator, callable $callback)
    public getChildren(): RecursiveCallbackFilterIterator
public hasChildren(): bool
    /* Наследуемые методы */
    public CallbackFilterIterator::accept(): bool
    public FilterIterator::accept(): bool
public FilterIterator::current(): mixed
public FilterIterator::key(): mixed
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
    public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
   }
Приклади
Callback-функція може приймати до трьох аргументів: поточний елемент, поточний ключ та ітератор відповідно.
Приклад #1 Доступні аргументи callback-функції
 Loading...
Фільтрація рекурсивного ітератора зазвичай включає дві умови. Перше у тому, щоб дозволити рекурсію. Callback-функція має повертати **true**якщо поточний елемент ітератора має нащадків. Друге - це нормальна умова фільтра, наприклад, перевірка розміру файлу чи розширення, як у наведеному нижче прикладі.
Приклад #2 Простий приклад рекурсивного зворотного виклику
 Loading...
Зміст
- RecursiveCallbackFilterIterator::__construct— Створює об'єкт класу RecursiveCallbackFilterIterator на основі об'єкта RecursiveIterator
 - RecursiveCallbackFilterIterator::getChildren— Повертає дочірні елементи ітератора, що зберігається всередині RecursiveCallbackFilterIterator
 - RecursiveCallbackFilterIterator::hasChildren— Перевіряє, чи поточний елемент внутрішнього ітератора містить дочірні елементи.