2016-07-28 89 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; 
}