thinkphp 如何在前端循环输出二级栏目?

发布于 2022-09-13 01:22:54 字数 1333 浏览 35 评论 0

id 表示栏目ID
pid 是父级栏目ID

idnamepidpath
1新闻00,
2娱乐00,
3健康00,
4国内新闻10,1,
5财经00,
6国际新闻10,1,
7电影20,2
8股票50,5

id: 1,2,3,5 都是顶级栏目
id: 4,6,7,8都是对应的二级栏目

在页面需要显示菜单大致结构:

<ul>
    <li>
        新闻
        <ul>
            <li>
                国内新闻
            </li>
            <li>
                国际新闻
            </li>
        </ul>
    </li>
    <li>
        娱乐
        <ul>
            <li>
                电影
            </li>
        </ul>
    </li>
    <li>
        健康
    </li>
    <li>
        财经
        <ul>
            <li>
                股票
            </li>
        </ul>
    </li>
</ul>

也就是需要讲二级栏目作为以及栏目的子栏目跟随显示,不知道应该怎么处理,使用foreach双层循环输出也不行

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦里人 2022-09-20 01:22:54

这有啥难的。。两层for循环就搞定呀

十年九夏 2022-09-20 01:22:54

递归

public function _treeNode($data,$pid=0,$lev=0)
{
    $node = [];
    foreach($data as $key => $value)
    {
        if($parent_id == $value['pid']) {
            $v = $value;
            $v['lev'] = $lev;
            $v ['childer'] = $this->_treeNode($data,$value['id']);
            $node[] =$v;
        }
    }
    return $node;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文