Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为动态手风琴创建关联数组_Php_Arrays - Fatal编程技术网

Php 为动态手风琴创建关联数组

Php 为动态手风琴创建关联数组,php,arrays,Php,Arrays,您好,我正在使用数据库中的值创建一个动态手风琴 我被困在循环数组中。请帮忙 我有一个类似的数组 Array ( [0] => Array ( [0] => Array ( [0] => real estate ) [1] => Array ( [0] => flatvcvjh

您好,我正在使用数据库中的值创建一个动态手风琴

我被困在循环数组中。请帮忙

我有一个类似的数组

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;

在上面的循环中,我需要做些什么样的改变我尝试了很多方法,上面的方法就是我得到的。请帮助

您需要首先将数组转换为对象,因为您使用

$sub_category->name用于读取对象类型


您需要首先将数组转换为对象,因为您使用

$sub_category->name用于读取对象类型

使用递归函数

使用递归函数


预期结果是什么?预期结果是什么?
category1
  subcat1
  subcat2
     subsubcat1
     subsubcat2
  subcat3
$menusList = array();
function dynamic_menus($menus) {
  foreach($menus as $index => $subMenu) {
   menusList[$index] = is_array($subMenu) ? dynamic_menus($subMenu) : $subMenu;
  }
 return menusList;
}