PHP从阵列构建树

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (69)

大家好我想用html元素“ul”和“li”构建树,最终结果我想要的是这样的:

My List
    Menu 1
        Menu 2
            Menu 3
        Menu 4
    Menu 5

但我的代码显示结果如下:

My List
    Menu 1

代码:

$lists = array(array(
    array(
        'id' => 1,
        'parent' => 0,
        'name' => 'Menu 1',
    ),
    array(
        'id' => 2,
        'parent' => 1,
        'name' => 'Menu 2',
    ),
    array(
        'id' => 3,
        'parent' => 2,
        'name' => 'Menu 3',
    ),
    array(
        'id' => 4,
        'parent' => 1,
        'name' => 'Menu 4',
    ),
    array(
        'id' => 4,
        'parent' => 0,
        'name' => 'Menu 5',
    )
));
?>
<ul>
<li><a>My List</a>
    <ul>
        <?php
        foreach($lists as $key=>$list) {
            ?>
            <li><a><?= $list[$key]['name']; ?></a></li>
            <?php
        }
        ?>
    </ul>
</li>
</ul>

在此先感谢所有人。在此先感谢所有人。在此先感谢所有人。在此先感谢所有人。在此先感谢所有人。

提问于
用户回答回答于

你还需要为父/子事做更多的事情,但是为了让它最初工作,只需用额外的东西打开数组array()并基于$key这样的元素访问它,所以:

$lists = array(
    array(
        'id' => 1,
        'parent' => 0,
        'name' => 'Menu 1',
    ),
    array(
        'id' => 2,
        'parent' => 1,
        'name' => 'Menu 2',
    ),
    array(
        'id' => 3,
        'parent' => 2,
        'name' => 'Menu 3',
    ),
    array(
        'id' => 4,
        'parent' => 1,
        'name' => 'Menu 4',
    ),
    array(
        'id' => 4,
        'parent' => 0,
        'name' => 'Menu 5',
    )
);
?>
<ul>
<li><a>My List</a>
    <ul>
        <?php
        foreach($lists as $key=>$list) {
            ?>
            <li><a><?= $list['name']; ?></a></li>
            <?php
        }
        ?>
    </ul>
</li>

热门问答

TPNS接入华为通道提示Missing HWPush Service SDK如何排查?

推荐已采纳
您好,可参考以下步骤排查 1.检查工程里是否有加 apply plugin: "com.tencent.android.tpns" ;若没加,检查implementation 语句有没有添加华为依赖,如图: image.png 若工程中添加了 apply plugin: "co...... 展开详请

无法结束hive进程???

1、Job application_1610431676834_1223 has expired 看下yarn web ui 的任务个数是否超过了yarn.resourcemanager.max-completed-applications参数配置的个数,可以将yarn.reso...... 展开详请

TSF微服务无法查看JVM监控,显示空白?

工口Miku说唱歌手
推荐
回答来自于问答智囊团成员:邓愉悦 专栏:https://cloud.tencent.com/developer/user/6835587 原因分析 1、tsf-agent 版本过低。 使用 JVM 监控功能时,实例的 tsf-agent 需为 1.21.0 ...... 展开详请

直播推流失败,什么原因导致的呢?

青蛙克星哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
推荐
回答来自于问答智囊团成员:clairehou 专栏:https://cloud.tencent.com/developer/column/89786 经常会收到客户咨询,直播推流失败是什么原因导致。从云直播使用步骤上来讲,直播推流作为第一步,如果推流失败,后续的转码、录制、播放等...... 展开详请

视频播着播着就卡住了,什么原因造成的呢?

推荐
回答来自于问答智囊团成员:bellchen 专栏:https://cloud.tencent.com/developer/article/1734074 猜想 导致视频播放卡顿的原因有千千万万,常见的有如下: 1、网络较差,导致视频下载较慢,需要缓冲,因此卡住了; 可以下载文件到...... 展开详请

云通信图片语音消息发送失败,错误码70402?

宅女have fun……
推荐
回答来自于问答智囊团成员:linpeiyang@云通信 专栏:https://cloud.tencent.com/developer/article/1750251 客户提到文字信息没有失败,说明消息上行到云通信IM后台 -> 云通信IM后台处理 -> 云通信IM后台下发消息给用...... 展开详请

所属标签

扫码关注云+社区

领取腾讯云代金券