繁体   English   中英

Foreach阵列错误(PHP)

[英]Foreach Array error (PHP)

我想创建一个循环菜单为1对象菜单的动态菜单。 但是发生了错误。 我们的代码在下面:

$menus = [{"id" => 1, "label" => "content", "parent_id" => 0},{"id" => 2, "label" => "inbox", "id" => 3, "parent_id" => 0}, {"id" => 4, "label" => "item", "parent_id" => 0}];
$sub_menus = [{"id" => 5, "label" => "banner", "parent_id" => 1},{"id" => 6, "label" => "ads", "parent_id" => 1}];

foreach($menus as $row => $value){
    $nav[$row] = $value;
    foreach($sub_menus as $r => $v) {
        if($v['parent_id'] == $value['id']){
            $nav[$row]['sub_menu'][$r] = $v;
        }
     }
 }

我收到错误通知,“ 对App \\ Menu重载元素的间接修改无效

请帮我 :)

该代码正在运行。 您的阵列中有很多错误。

固定的

$menus = [
            [
                "id" => 1,
                "label" => "content",
                "parent_id" => 0
            ],
            [
                "id" => 2,
                "label" => "inbox",
                "parent_id" => 0
            ],
            [
                "id" => 4,
                "label" => "item",
                "parent_id" => 0
            ]
        ];

        $sub_menus = [
            [
                "id" => 5,
                "label" => "banner",
                "parent_id" => 1
            ],
            [
                "id" => 6,
                "label" => "ads",
                "parent_id" => 1
            ]
        ];

        foreach($menus as $row => $value){
            $nav[$row] = $value;
            foreach($sub_menus as $r => $v) {
                if($v['parent_id'] == $value['id']){
                    $nav[$row]['sub_menu'][$r] = $v;
                }
            }
        }

您有一个损坏的数组,类似于将json不正确地转换为数组;

您可以在此处测试(执行)(工作示例)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM