PHP多级菜单

要实现多级菜单,数据库必须有一个pid(父级id字段),获取所有数据如下————
QQ截图20190903100638.png

接着写一个递归,嵌套我们的菜单

    /**
     * TP5
     * $data -> 菜单数组
     * $pid -> 顶级分类pid
     */
    public function getMenu($data, $pid)
    {
        $arr = '';
        foreach ($data as $k=>$row) {
            if ($row['pid'] == $pid) {
                $row['cnav'] = $this->getMenu($data, $row['id']);
                $arr[] = $row;
            }
        }
        return $arr;
    }

调用这个方法

  $data = Db::table('nav')->select();
  $arr = $this->getMenu($data,0);

最后得到的结果为
QQ截图2.png

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

支付宝扫一扫,向我赞赏

回复

This is just a placeholder img.