Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/08/2015, 19:19
Avatar de Fleon
Fleon
 
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 3 meses
Puntos: 3
Establecer el nivel de cada arreglo

Hola, tengo una array con esta estructura:

Código:
   [1] => Array
        (
            [10] => Array
                (
                    [id] => 10
                    [name] => Administradores
                    [parent_id] => 2
                    [level] => 0
                    [children] => Array
                        (
                        )

                )

            [34] => Array
                (
                    [id] => 34
                    [name] => Proyectos
                    [parent_id] => 2
                    [level] => 0
                    [children] => Array
                        (
                            [35] => Array
                                (
                                    [id] => 35
                                    [name] => [Front]
                                    [parent_id] => 34
                                    [level] => 0
                                    [children] => Array
                                        (
                                        )

                                )

                            [44] => Array
                                (
                                    [id] => 44
                                    [name] => [Call Center]
                                    [parent_id] => 34
                                    [level] => 0
                                    [children] => Array
                                        (
                                        )

                                )

                            [45] => Array
                                (
                                    [id] => 45
                                    [name] => [Editor Pascal para el micro 8051]
                                    [parent_id] => 34
                                    [level] => 0
                                    [children] => Array
                                        (
                                        )

                                )

                            [51] => Array
                                (
                                    [id] => 51
                                    [name] => [Sistema de Control de Deudas]
                                    [parent_id] => 34
                                    [level] => 0
                                    [children] => Array
                                        (
                                        )

                                )

                            [60] => Array
                                (
                                    [id] => 60
                                    [name] => [Mapa de visitantes]
                                    [parent_id] => 34
                                    [level] => 0
                                    [children] => Array
                                        (
                                        )

                                )

                        )

                )
)
mi deseo es establecer en el elemento [level] la posicion en que esta en el array de manera recursiva, el resultado esperado es el siguiente, todos los padres tendran un level = 0 y los hijos, nietos, biznietos es donde se debe obtener la posicion del array en el elemento [level]

Código:
padre 1
   [level] => 0,
   [children] =>
          hijo 1 =>
             [level] => 1, 
          hijo 2 =>
             [level] => 2,
             [children] =>
                 subhijo 1 =>
                    [level] => 1,
                 subhijo 2 =>
                    [level] => 2,
          hijo 3 =>
             [level] => 3,
padre 2
   [level] => 0,
   [children] =>
          hijo 1 =>
             [level] => 1, 
          hijo 2 =>
             [level] => 2,
             [children] =>
                 subhijo 1 =>
                    [level] => 1,
                 subhijo 2 =>
                    [level] => 2,
          hijo 3 =>
             [level] => 3,
Y así sucesivamente, espero haberme explicado lo más entendible.

Saludos.