Foros del Web » Programando para Internet » PHP »

recorrer array multidimensional

Estas en el tema de recorrer array multidimensional en el foro de PHP en Foros del Web. hola no se como recorrer un array de 3 dimensiones, de antemanos gracias Código PHP: $niveles  = array         (             array                 (                      "iditemcosto1"  =>  1 , ...
  #1 (permalink)  
Antiguo 06/02/2012, 18:35
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años, 7 meses
Puntos: 1
recorrer array multidimensional

hola
no se como recorrer un array de 3 dimensiones,
de antemanos gracias
Código PHP:
$niveles = array
        (
            array
                (
                    
"iditemcosto1" => 1,
                    
"descripcion" => "COSTO DE EJECUCION DE LAS OBRAS",
                    
"nivel2" => array
                        (
                            array
                                (
                                    
"iditemcosto1" => 1,
                                    
"iditemcosto2" => 1,
                                    
"descripcion" => "Tecnificación"
                                
),

                            array
                                (
                                    
"iditemcosto1" => 1,
                                    
"iditemcosto2" => 2,
                                    
"descripcion" => "Obras Civiles"
                                
),

                            array
                                (
                                    
"iditemcosto1" => 1,
                                    
"iditemcosto2" => 3,
                                    
"descripcion" => "Otros Costos"
                                
),

                            
"nivel3" => array
                                (
                                    array
                                        (
                                            
"iditemcosto1" => 1,
                                            
"iditemcosto2" => 3,
                                            
"iditemcosto3" => 18,
                                            
"descripcion" => "Letrero",
                                            
"montopesos" => 500000,
                                            
"montouf" => 22.3088001970313,
                                            
"mayusdescripcion" => "LETRERO"
                                        
),

                                    array
                                        (
                                            
"iditemcosto1" => 1,
                                            
"iditemcosto2" => 3,
                                            
"iditemcosto3" => 19,
                                            
"descripcion" => "Gastos Generales",
                                            
"montopesos" => 10000000,
                                            
"montouf" => 446.176003940626,
                                            
"mayusdescripcion" => "GASTOS GENERALES"
                                        
),

                                    array
                                        (
                                            
"iditemcosto1" => 1,
                                            
"iditemcosto2" => 3,
                                            
"iditemcosto3" => 20,
                                            
"descripcion" => "Imprevistos",
                                            
"montopesos" => 15000000,
                                            
"montouf" => 669.26400591094,
                                            
"mayusdescripcion" => "IMPREVISTOS"
                                        
)

                                )

                        )

                ),

            array
                (
                    
"iditemcosto1" => 3,
                    
"descripcion" => "COSTOS DE SUPERVISIÓN, ESTUDIOS Y PRESENTACIÓN",
                    
"nivel2" => array
                        (
                            array
                                (
                                    
"iditemcosto1" => 3,
                                    
"iditemcosto2" => 5,
                                    
"descripcion" => "Supervisión"
                                
),

                            array
                                (
                                    
"iditemcosto1" => 3,
                                    
"iditemcosto2" => 6,
                                    
"descripcion" => "Estudios"
                                
),

                            array
                                (
                                    
"iditemcosto1" => 3,
                                    
"iditemcosto2" => 7,
                                    
"descripcion" =>"Preparación y Presentación del Proyecto"
                                
),

                            
"nivel3" => array
                                (
                                    array
                                        (
                                            
"iditemcosto1" => 3,
                                            
"iditemcosto2" => 7,
                                            
"iditemcosto3" => 27,
                                            
"descripcion" => "Monto preparación y presentación del proyecto",
                                            
"montopesos" => 10000000,
                                            
"montouf" => 446.176003940626,
                                            
"mayusdescripcion" => "MONTO PREPARACIÓN Y PRESENTACIÓN DEL PROYECTO"
                                        
)

                                )

                        )

                )

        );

foreach (
$niveles as $rn) {
    echo 
$rn["descripcion"]."<br>";
    foreach (
$rn["nivel2"] as $rn2) {
        echo 
$rn2["descripcion"]."<br>";
        foreach (
$rn2["nivel2"]["nivel3"] as $rn3) {
            echo 
$rn3["descripcion"]."<br>";
        }
    }

  #2 (permalink)  
Antiguo 06/02/2012, 18:40
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Respuesta: recorrer array multidimensional

con foreach puedes recorrerlo todo completito :D

saludos.

http://php.net/manual/es/control-structures.foreach.php
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #3 (permalink)  
Antiguo 06/02/2012, 18:42
 
Fecha de Ingreso: abril-2006
Mensajes: 240
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: recorrer array multidimensional

hola iovan con foreach lo estoy haciedo pero para el ultimo nivel no me muestra nada siendo que tengo datos. ¿que estare haciendo mal?
gracias
  #4 (permalink)  
Antiguo 06/02/2012, 18:51
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Respuesta: recorrer array multidimensional

Algo estarás haciendo mal.
Es bastante código para que yo lo pueda encontrar el error.

comienza a depurar.

Primer haz un solo foreach


Código PHP:
Ver original
  1. echo "<h1>El array $array tiene esto valores</h1>";
  2. foreach($array as $key=>$value){
  3. echo "<h2>El array $key tiene estos valores: </h2>";
  4. print_r($value);
  5.  
  6. }

Y observa cuantos arrays te devuelve y así velo analizando. Con la práctica esto no será necesario.

... Despues has otro foreach anidado y así sucesivamente.

Saludos
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Etiquetas: multidimensional
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:52.