Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Laravel - Fatal编程技术网

Php 父子关系数组

Php 父子关系数组,php,arrays,laravel,Php,Arrays,Laravel,我有一个由父母和孩子组成的类别数组。有人能帮我在foreach循环中使用parent\u id和category\u id在层次结构中排列数组吗。最顶端的父项的父项id为“零”。请忽略除category\u id和parent\u id之外的其他字段。这是我的数组 Array ( [categories] => Array ( [0] => Array ( [wor

我有一个由父母和孩子组成的类别数组。有人能帮我在foreach循环中使用parent\u id和category\u id在层次结构中排列数组吗。最顶端的父项的父项id为“零”。请忽略除category\u id和parent\u id之外的其他字段。这是我的数组

Array
(
    [categories] => Array
        (
            [0] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1527
                    [category_name] => CABIN
                    [category_description] => a seperate cabin
                    [capacity] => 100
                    [category_price] => 50000
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 0
                    [is_parent] => 0
                )

            [1] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1528
                    [category_name] => C3
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1527
                    [is_parent] => 0
                )

            [2] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1529
                    [category_name] => FLOOR3
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1528
                    [is_parent] => 0
                )

            [3] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1530
                    [category_name] => CABIN
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 0
                    [is_parent] => 0
                )

            [4] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1531
                    [category_name] => C3
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1530
                    [is_parent] => 0
                )

            [5] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1532
                    [category_name] => FLOOR1
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1531
                    [is_parent] => 0
                )

            [6] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1533
                    [category_name] => CABIN
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 0
                    [is_parent] => 0
                )

            [7] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1534
                    [category_name] => C5
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1533
                    [is_parent] => 0
                )

            [8] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1535
                    [category_name] => FLOOR1
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1534
                    [is_parent] => 0
                )

            [9] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1536
                    [category_name] => CABIN
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 0
                    [is_parent] => 0
                )

            [10] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1537
                    [category_name] => C3
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1536
                    [is_parent] => 0
                )

            [11] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1538
                    [category_name] => FLOOR2
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1537
                    [is_parent] => 0
                )

            [12] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1539
                    [category_name] => CABIN
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 0
                    [is_parent] => 0
                )

            [13] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1540
                    [category_name] => ABOVE SBI
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1539
                    [is_parent] => 0
                )

            [14] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1541
                    [category_name] => FLOOR2
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1540
                    [is_parent] => 0
                )

            [15] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1542
                    [category_name] => Launch Pad
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 0
                    [is_parent] => 0
                )

            [16] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1543
                    [category_name] => C5
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1542
                    [is_parent] => 0
                )

            [17] => Array
                (
                    [workspace_id] => 1
                    [category_id] => 1544
                    [category_name] => FLOOR3
                    [category_description] => 
                    [capacity] => 
                    [category_price] => 
                    [status] => 1
                    [created_by] => 1
                    [created_time] => 2017-07-14 07:56:54
                    [updated_by] => 1
                    [updated_time] => 2017-07-14 07:56:54
                    [label_id] => 1
                    [parent_id] => 1543
                    [is_parent] => 0
                )

        )

)
考虑功能

function get_childs($arr, $parent_id = 0) {
    $res = array();
    foreach ($arr as $row) {
         if ($parent_id == $row['parent_id']) {
              $childs = get_childs($arr, $row['category_id']);
              $row['childs'] = $childs;
              $res[] = $row;
         }
    }
    return $res;
}
然后使用此函数获取家长及其子女

$res = get_childs($arr);

你能分享你的预期输出吗?如果你给我们你的预期结果会很有帮助。最外面的数组应该是父数组id“0”。其中必须有基于父id的子项。父项id只是其父项的类别@SahilGulati@ArigiWiratama现在这个数组是完全随机的,带有category_id,我需要做的是根据parent_id排列数组。最外面的数组应该是parent_id 0,数组应该是多维的,具有parent_id层次结构