2011-11-22 69 views
0

樹我有一個數組滿了物品,如這些:創建一個從子節點

array(
    array(
     'id' => 1, 
     'name' => 'parent 1', 
     'parent_id' => null 
    ), 
    array(
     'id' => 2, 
     'name' => 'child of parent 1', 
     'parent_id' => 1 
    ), 
    array(
     'id' => 3, 
     'name' => 'grand child of parent 1', 
     'parent_id' => 2 
    ), 
    array(
     'id' => 4, 
     'name' => 'parent 2', 
     'parent_id' => null 
    ), 
    array(
     'id' => 5, 
     'name' => 'child of parent 2', 
     'parent_id' => 4 
    ), 
); 

我的問題是:如何建立一個樹一個已知的孩子?例如,如果我知道id是3,我需要獲得一系列物品,包括ID和1,2和3.

謝謝。

回答

0

也許某事像這樣:

function build($tab, $id) 
{ 
    $res = array(); 
    $node = $tab[$id]; 
    $i = 0; 

    do 
    { 
     $res[$i] = node; 
     $node = $tab[$node['parent_id']]; 
     $i++; 
    } while($node != null); 

    return $res; 

} 
相關問題