之前在网上收了很多方法,依旧不能解决,最后自己琢磨了一个递归的方法,(说明,这方法效率极低,数据操作一万条执行效率超过30秒,不建议使用,而且此方法分页和查询较常规不同)
先看效果:
下面说方法: 简洁明了,比之前网上说的方法好多了,说明此方法分页时分的是顶级菜单的的条数,查询的时候甚是注意这个问题
/** * lijia add * Description:区域分级菜单 * @param $mList * @param int $pid * @return array */ function recurseArea($mList, $pid = 0) { $arr = array(); foreach ($mList as $array) { if ($array['parent_id'] == $pid) { $array['child'] = recurseArea($mList, $array['area_id']); $arr[$array['area_id']] = $array; } } return $arr; }