fork download
  1. <?php
  2. $shop_categories = [
  3. [ 'title' => 'Компьютеры',
  4. 'children' => [
  5. [ 'title' => 'Ноутбуки', ],
  6. [ 'title' => 'Моноблоки', ],
  7. [ 'title' => 'Системные блоки',
  8. 'children' => [
  9. [ 'title' => 'Tower', ],
  10. [ 'title' => 'Mini Tower', ]
  11. ]
  12. ]
  13. ]
  14. ],
  15. [ 'title' => 'Бытовая техника',
  16. 'children' => [
  17. [ 'title' => 'Пылесосы', ],
  18. [ 'title' => 'Холодильники', ]
  19. ]
  20. ]
  21. ];
  22. function write_title($title, $level) {
  23. for($i = 0; $i< $level; ++$i) {
  24. echo '--';
  25. }
  26. echo $title.PHP_EOL;
  27. }
  28. function print_tree(array $data, $level = 0) {
  29. foreach($data as $node) {
  30. write_title($node['title'], $level);
  31. if(array_key_exists('children', $node)) {
  32. print_tree($node['children'], $level + 1);
  33. }
  34. }
  35. }
  36.  
  37. print_tree($shop_categories, 0);
  38.  
Success #stdin #stdout 0.02s 52480KB
stdin
Standard input is empty
stdout
Компьютеры
--Ноутбуки
--Моноблоки
--Системные блоки
----Tower
----Mini Tower
Бытовая техника
--Пылесосы
--Холодильники