Hola! 
Estoy jugando con 
foreach sobre un array multidimensional. El foreach muestra en pantalla los nombres de las claves de 1er y 2do nivel, pero ya no los valores de 3er nivel:  
 Código PHP:
    $miArray = array(
    "Enero"=> [
        "Lunes"=> [
            "Hora"=> [
                "Minuto"=> [
                    "1"=> "uno",
                    "2"=> "dos",
                    "3"=> "tres",
                ]
            ],
        ],
    ],
    "Febrero"=> [
        "Martes"=> [
            "Hora"=> [
                "Minuto"=> [
                    "4"=> "cuatro",
                    "5"=> "cinco",
                    "6"=> "seis",
                ]
            ],
        ],
    ]
);
foreach( $miArray as $clave1=>$valorClave1 ) {
    print_r("Nivel 1: ".$clave1);
    echo "<br>";
    foreach( $miArray[$clave1] as $clave2=>$valorClave2 ) {
        print_r("Nivel 2: ".$clave2);
        echo "<br>";
        foreach( $miArray[$clave2] as $clave3=>$valorClave3 ) {
            print_r("Nivel 3: ".$clave3);
            echo "<br>";
        }
    }
} 
    
  En pantalla se devuelven los errores: 
Undefined index: Lunes  y 
Undefined index: Martes .
Y que hay un 
Invalid argument supplied for foreach() en el último foreach. 
Es decir, claro que está leyendo los índices LUNES y MARTES, evidentemente, como que me está dando sus nombres. ¿Pero por qué dice que no?  
Saludos! 