Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2015, 19:01
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Foreach sobre array multidimensional no muestra toda la info

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!