ciao a tutti
Piccolo grande problema con gli alberi binari
mi trovo in una situazione di avere un array di questo tipo
e vorrei creare un albero binario cosìCodice PHP:Array
(
[1] => Array
(
[id] => 1
[name] => Nodo1
[parent] => 0
[attivo] => 1
)
[2] => Array
(
[id] => 2
[name] => Nodo2
[parent] => 0
[attivo] => 1
)
[3] => Array
(
[id] => 3
[name] => Nodo3
[parent] => 2
[attivo] => 1
)
[4] => Array
(
[id] => 4
[name] => Nodo4
[parent] => 3
[attivo] => 1
)
)
partendo dal presupposto che le strutture gerarchiche su db non ho intenzione di usarle ma voglio farlo con la ricorsività per ovvi motivicodice:|_ Nodo1 |_ Nodo2 |_ Nodo3 |_ Nodo4
io sono arrivato qui ma non funzica
qualche anima pia che sa dirmi cosa sbaglio e come posso sistemare il problema dei nodi del figlio ??Codice PHP:function BuildList($list,$parent = 999999)
{
// Reset delle variabili
reset($list);
unset($temp_array);
unset($array);
foreach($list as $k => $v)
{
if (( $v['parent'] == 0 || $v['id'] == $parent ) )
{
$temp_array[$v['id']] = $v; // Prelevo i nodi genitori
}
elseif($v['parent'] !=0 )
{
$array[$v['id']] = $v; // Prelevo i nodi figli
}
} // End-foreach
echo '<pre>'; print_r($temp_array); echo '</pre>'; //DEBUG
echo '<pre>'; info($array); echo '</pre>';//DEBUG
if (isset($temp_array))
{
foreach($temp_array as $k => $v)
{
$array[$k] = BuildList($array,$k);
}
}
return (isset($array) ? $array : false);
} // End-Method
grazie in anticipo a tutti


Rispondi quotando