Tienes que usar una especie de función recursiva, que dependiendo de sí el valor es un array se llame a si misma.
Sería algo más o menos así, aunque supongo que alguién con más experiencia te podrá ayudar mejor, por ejemplo con el indentado según el nivel del índice:
Código PHP:
function arreglo($arr)
{
foreach ($arr as $key=>$value)
{
if (is_array($value))
{
arreglo ($value);
}
else
{
print $key." -> ".$value."<br>";
}
}
}
arreglo ($a);
A ver si te sirve de algo...
Salu2 ;)