fork download
  1. <?php
  2.  
  3. // your code goes here
  4.  
  5. $folders=array(
  6. "Папка А"=>array(
  7. "Папка B"=>array(),
  8. "Папка C"=>array(
  9. "Файл 1",
  10. "Файл 2",
  11. "Файл 3"),
  12. "Файл 10",
  13. "Файл 11",
  14. "Файл 12"),
  15. "Файл 20",
  16. "Файл 21",
  17. "Файл 22",
  18. "Папка G"=>array()
  19. );
  20.  
  21. function walk_tree($tree, $de)
  22. {
  23. $result = '';
  24.  
  25. foreach ($tree as $key =>$value)
  26. if (is_array($value))
  27. {
  28. $result .= $de . "[{$key}]" . PHP_EOL;
  29. $result .= walk_tree($value, $de . '___');
  30. }
  31. else
  32. {
  33. $result .= $de . $value . PHP_EOL;
  34. }
  35.  
  36. return $result;
  37. }
  38.  
  39. echo walk_tree($folders, '');
Success #stdin #stdout 0.01s 82560KB
stdin
Standard input is empty
stdout
[Папка А]
___[Папка B]
___[Папка C]
______Файл 1
______Файл 2
______Файл 3
___Файл 10
___Файл 11
___Файл 12
Файл 20
Файл 21
Файл 22
[Папка G]