PHP: Деревья
2026-02-26 23:13 Diff

Попрактикуемся еще с одним вариантом агрегации данных на файловых системах. Напишем функцию, которая принимает на вход директорию и возвращает список директорий первого уровня вложенности и количество файлов в них и всех поддиректориях.

Внутри себя эта задача распадается на две:

  • Подсчет количества файлов внутри директории
  • Вызов функции подсчета файлов на каждой из поддиректорий

Начнем с подсчета количества файлов. Это классическая задача на агрегацию:

Следующий шаг заключается в том, чтобы извлечь всех детей из исходного узла и к каждому из них применить подсчет.

И пример использования:

То есть мы обратились к детям напрямую, сначала отфильтровав их, а затем выполнили отображение на необходимый массив, содержащий для каждой директории имя и количество файлов в нем.

Рекомендуемые программы