No es necesario hacer 2 foreach   ,
prueba con este código:   
Código PHP:
Ver original- <?php 
- $comunidad= array("Andalucia"=>array("Almeria"=>"256", 
-                                      "Cadiz"=>"344", 
-                                      "Cordoba"=>"331", 
-                                      "Granada"=>"388", 
-                                      "Huelva"=>"195", 
-                                      "Jaen"=>"271", 
-                                      "Malaga"=>"385", 
-                                      "Sevilla"=>"460"), 
-                   "Aragón"=>array( "Huesca"=>"201", 
-                                    "Teruel"=>"149", 
-                                    "Zaragoza"=>"378"), 
-                   "Cantabria"=>array("Cantabria"=>"327"), 
-             "Castilla y León"=>array("Avila"=>"173", 
-                                      "Burgos"=>"209", 
-                                      "Leon"=>"279", 
-                                      "Palencia"=>"120", 
-                                      "Salamanca"=>"252", 
-                                      "Segovia"=>"138", 
-                                      "Soria"=>"71", 
-                                      "Valladolid"=>"229", 
-                                      "Zamora"=>"216")); 
-   
- //Funcion recursiva para recorrer el array asociativo 
-   
- function recorrer($comunidad) 
- { 
-   
- foreach($comunidad as $indice=>$variable) 
- { 
-     { 
-         echo "<font color='red'>".$indice."</font><br>"; 
-         recorrer($variable); 
-     }else{ 
-   
-         echo $indice; 
-         echo $variable; 
-         echo "<br />"; 
-         echo "<br />"; 
-     } 
-   
- } 
- } 
- recorrer($comunidad);   
-   
- ?> 
Espero te sirva 
