2012-05-07 41 views
1

我有填充「類別」對象的陣列,每個含有一個ID和一個PARENT_ID值。他們這樣的訪問:PHP:從數組中生成類別/子類別UL列表?

$category->get("id"); //gets category id 
$category->get("parent_id"); gets parent category id 

我想打一個HTML UL列表如下:

<ul> 
    <li>Category</li> 
    <li>Category 
     <ul> 
      <li>Child Category</li> 
      <li>Child Category</li> 
      <li>Child Category 
       <ul> 
        <li>Child Category</li> 
        <li>Child Category</li> 
        <li>Child Category</li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
    <li>Category</li> 
    <li>Category</li> 
    <li>Category</li> 
    <li>Category</li> 
</ul> 

必須做什麼樣的循環產生呢?

+3

「什麼樣的循環必須做產生的​​?」 ---遞歸一個 – zerkms

+0

請如何????? – user1091856

+0

您是否嘗試過使用遞歸術語google? – zerkms

回答

0

不知道你用的是什麼庫,它會比工作代碼更多的僞代碼,但你應該如何使用遞歸的想法讓樹

首先檢索主目錄(你可以設置例如爲0類,是一個分類。然後遍歷所有項目和獲取孩子。如果節點有孩子,稱自己遞歸

showCategory($rootcategory) 
function showCategory($category) { 
    $children=fetchChildren(); 
    if($children) //if category has children 
    { 
     echo('<ul>'); 
     foreach($children as $child) { 
      showCategory($child); 
     } 
     echo('</ul>'); 
    } 
    else { 
     echo('<li>' . $child['title'] . '</li>'); 
    } 
}