PHP: Деревья
Теория: Повторные вычисления
Полный доступ к материалам
Попрактикуемся еще с одним вариантом агрегации данных на файловых системах. Напишем функцию, которая принимает на вход директорию и возвращает список директорий первого уровня вложенности и количество файлов в них и всех поддиректориях.
Внутри себя эта задача распадается на две:
- Подсчет количества файлов внутри директории
- Вызов функции подсчета файлов на каждой из поддиректорий
Начнем с подсчета количества файлов. Это классическая задача на агрегацию:
Следующий шаг заключается в том, чтобы извлечь всех детей из исходного узла и к каждому из них применить подсчет.
И пример использования:
То есть мы обратились к детям напрямую, сначала отфильтровав их, а затем выполнили отображение на необходимый массив, содержащий для каждой директории имя и количество файлов в нем.
.png)
