2016-07-28 90 views
0

你好,我正在用數據庫中的值創建一個動態手風琴。爲動態手風琴創建關聯數組php

我被困在循環數組中。請幫忙。

我具有類似於此

Array 
(
[0] => Array 
    (
     [0] => Array 
      (
       [0] => real estate 
      ) 

     [1] => Array 
      (
       [0] => flatvcvjh 
       [1] => villayuiuyidd 
      ) 

    ) 

[1] => Array 
    (
     [0] => Array 
      (
       [0] => real estate 
       [1] => iooi 
      ) 

     [1] => Array 
      (
       [0] => y 
      ) 

    ) 

[2] => Array 
    (
     [0] => Array 
      (
       [0] => real estate 
       [1] => iooi 
       [2] => painting 
      ) 

     [1] => Array 
      (
       [0] => interior 
       [1] => exterior 
      ) 

    ) 

[3] => Array 
    (
     [0] => Array 
      (
       [0] => real estate 
       [1] => iooi 
       [2] => painting 
       [3] => contruction 
      ) 

     [1] => Array 
      (
       [0] => house 
       [1] => compound 
      ) 

    ) 

) 

Following is the loop m using to get the above array 
foreach($parent_categories as $parent_category) { 

     $sub_categories=//array of sub cat; 
     $arr[]=$parent_category->name; 

     $scat_name=""; 
     foreach($sub_categories as $sub_category) { 
      //get sub categories 
      $scat_name[]=$sub_category->name; 
     } 
     $subcat_name[]=$arr; 
     $subcat_name[]=$scat_name; 
     $project_categories[] = $subcat_name; 
     $subcat_name=""; 

    } 
echo "<pre>"; 
    print_r($project_categories);exit; 

上述循環我試圖爲2級的陣列。

我需要3個級別的類別 的3維數組一樣

category1 
    subcat1 
    subcat2 
    subsubcat1 
    subsubcat2 
    subcat3 

將我有什麼變化,上面的循環我嘗試的方式數以上就是我去作。請幫助

+0

預期結果是什麼? – axiac

回答

2

使用遞歸函數

$menusList = array(); 
function dynamic_menus($menus) { 
    foreach($menus as $index => $subMenu) { 
    menusList[$index] = is_array($subMenu) ? dynamic_menus($subMenu) : $subMenu; 
    } 
return menusList; 
}