fork download
  1. <?php $array = array(
  2. array("Австралия"),
  3. array("Австралия", "Виктория"),
  4. array( "Австралия", "Виктория", "Бичворз"),
  5. array("Австралия", "Виктория", "Джилонг"),
  6. array( "Австралия", "Виктория", "Долина Ярра"),
  7. array("Австралия", "Виктория", "Морнингтон Пенинсула"),
  8. array("Австралия", "Виктория", "Пиренеи"),
  9. array("Австралия", "Виктория", "Рутерглен"),
  10. array("Австралия", "Долина Хантер"),
  11. array("Австралия", "Западная Австралия"),
  12. array("Австралия", "Западная Австралия", "Греат Саусерн"),
  13. array("Австралия", "Западная Австралия", "Маргарет Ривер"),
  14. array("Авст"),
  15. array("Австрия", "Западная Австралия", "Франкленд Ривер"),
  16. array("Австрия", "Новый Южный Уэльс"),
  17. array("Австрия", "Новый Южный Уэльс", "Долина Хантер"),
  18. array("Австрия", "Новый Южный Уэльс", "Риверина"),
  19. );
  20. $res = array();
  21. foreach ( $array as $one => $u) {
  22.  
  23. if(isset($u[0]) && empty($res[$u[0]])) {
  24. $res[$u[0]] = array();
  25. }
  26.  
  27. if( isset($u[1]) && empty($res[$u[0]][$u[1]])) {
  28. $res[$u[0]][$u[1]] = array();
  29. }
  30.  
  31. if(isset($u[2]) && is_array($res[$u[0]][$u[1]]) && !array_search($u[2],$res[$u[0]][$u[1]])) {
  32. $res[$u[0]][$u[1]][] = $u[2];
  33. }
  34.  
  35. }
  36.  
  37. foreach ($res as $first => $twoo ){
  38. echo( $first );
  39.  
  40. foreach($twoo as $three => $vals){
  41. echo '-';
  42. echo( $three );
  43. foreach($vals as $one){
  44. echo '--';
  45. echo( $one );
  46. }
  47.  
  48. }
  49. }
Success #stdin #stdout 0.01s 82880KB
stdin
Standard input is empty
stdout
Австралия-Виктория--Бичворз--Джилонг--Долина Ярра--Морнингтон Пенинсула--Пиренеи--Рутерглен-Долина Хантер-Западная Австралия--Греат Саусерн--Маргарет РиверАвстАвстрия-Западная Австралия--Франкленд Ривер-Новый Южный Уэльс--Долина Хантер--Риверина