|
PHP. Алгоритм группировки
|
|||
---|---|---|---|
#18+
Этот алгоритм используется во всех отчетных системах, и превращает такую плоскую таблицу в структуру, чем-то напоминающее дерево Дали мне задание сформировать Excel-файл с кучей сложных формул и группировками, как на картинке выше. В сети алгоритм группировки нигде не нашел, наверное плохо искал :) Пришлось делать свой велосипед. Здесь список полей для группировки хранится в переменной $fields (это названия полей нашего Dataset, с учетом регистра) Плюсы: - хорошая скорость и мало кода - универсальность (в $fields может быть сколько угодно полей из нашего Dataset, вложенность уровней будет правильной) - переменную $fields можно формировать/брать где-то извне Минусы: - Dataset должен быть заранее отсортирован на сервере (для моей задачи это оказалось быстрее, чем копировать весь Dataset в массив php, а потом этот массив сортировать) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Буду рад любым замечаниям и предложениям. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2017, 13:09 |
|
|
start [/forum/topic.php?fid=23&fpage=36&tid=1460773]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 293ms |
total: | 423ms |
0 / 0 |