2014-12-04 54 views

回答

1

數據結構

簡單的關聯數組,將做的工作

array(2) { 
    ["data"]=> int 
    ["children"]=> array() 
} 

PHP

<?php 

function makeTree($data, $children = array()) { 
    $tree = array(); 
    $tree['data'] = $data; 
    $tree['children'] = $children; 

    return $tree; 
} 

function traverse($tree) { 
    echo $tree['data'] . "\n"; 

    foreach($tree['children'] as $child) { 
    traverse($child); 
    } 
} 

$root = makeTree(1, array(
    makeTree(2, array(makeTree(5), makeTree(6))), 
    makeTree(3, array(makeTree(7), makeTree(8))), 
    makeTree(4, array(makeTree(9), makeTree(10), makeTree(11))) 
)); 

traverse($root); 

結果

1 
2 
5 
6 
3 
7 
8 
4 
9 
10 
11 
+0

感謝您的回覆。答案是真的,但是如何將項目存儲在樹中,如果樹層級和子節點是動態的。 – 2014-12-04 06:55:00