Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2013, 10:52
wilmer30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
GEnerar un array desde otro

Hola:

Tengo un problema que me rompe la cabeza, tengo este array:
Código PHP:
$arr = array();
$arr[0]['id'] = 1;
$arr[0]['menu'] = 'Menu';
$arr[1]['id'] = 1;
$arr[1]['menu'] = 'Menu';
$arr[1]['__children'][0]['id']=5;
$arr[1]['__children'][0]['menu']='Navigation';
$arr[1]['__children'][1]['id']=6;
$arr[1]['__children'][1]['menumenu']='search';
$arr[2]['id'] = 9;
$arr[2]['menu'] = 'Registro'
y debo generar este otro array
Código PHP:
<?php
$ar 
= array();
$ar[0]['id'] = 1;
$ar[0]['label'] = 'Menu';
$ar[1]['id'] = 2;
$ar[1]['label'] = 'Zend';
$ar[1]['pages'][0]['id']=5;
$ar[1]['pages'][0]['label']='Navigation';
$ar[1]['pages'][1]['id']=6;
$ar[1]['pages'][1]['label']='search';
$ar[2]['id'] = 9;
$ar[2]['label'] = 'Registro';
obviamente debo usar un metodo recursivo, un ejemplo simple sería:
Código PHP:
rec($arr,'&nbsp;');

function 
rec($arr,$s){
    foreach (
$arr as $k => $v) {
        if(!
is_array($v)){
            echo 
$s.$k.' => '.$v.'<br>';
        }else
            
rec($v,$s.$s);
    }

Esto muestra el array completo, pero considerando que mi array original puede tener un "n" niveles de hijos, como haría para generar el array() hijo?