导航栏

文章

  • 首页
  • 查看历史

导航栏

  • 登陆
    • QQ登陆 微博登陆
  • 其他
    • 图标库
  • 夜间模式
  • 退出登录

【亲测】简单二维数组转成树状图小算法 【亲测】


作者:科技小锅盖             时间:2023-5-16 09:17             站长QQ:1540217035
$arr = [
   ['id' => 1, 'pid' => 0, 'name' => '1级菜单1'],
   ['id' => 2, 'pid' => 0, 'name' => '1级菜单2'],
   ['id' => 3, 'pid' => 1, 'name' => '2级菜单1'],
   ['id' => 4, 'pid' => 2, 'name' => '2级菜单2'],
   ['id' => 5, 'pid' => 3, 'name' => '3级菜单1'],
   ['id' => 6, 'pid' => 4, 'name' => '3级菜单2'],
];

foreach ($arr as $k => &$item) {
   $pid         = &$item['pid'];
   $map[$item['id']] = &$item;
   if (empty($map[$pid])) {
       $res[$k] = &$item;
   } else {
       $pItem        = &$map[$pid];
       $pItem['child'][] = &$item;
   }
}

return $res;

分享一个简单二维数组转成树状图小算法,可以做的东西还挺多的,多级菜单、省市区等存在pid上下等级的数据都可以。平时都是直接框架with查询,还是要熟悉一下基础的算法,近期多看看基础算法,分享一下,新公司近期也是熟悉项目和维护


推荐

【亲测】laravel 里面 where 条件的in查询方法 【亲测】

2021-09-26 17:18:32

河北唐山市委政法委书记回应烧烤店打人事件:嫌疑人已锁定正在抓捕

2022-06-10 17:56:07

【亲测】Clash For Windows 客户端中文汉化教程【亲测】

2022-04-14 15:53:23

搬砖网 【https://www.xsjic.com/】大部分源码都不存在,大家别支付了- 谨防上单受骗

2021-01-19 15:40:48

苹果WWDC2019:五大系统集齐,将建立统一应用平台

2020-06-02 14:20:38

努比亚120W氘锋氮化镓充电器重磅发布,各家数码产品皆可快冲

2020-07-24 11:01:31

中国首款5G平板来了,明天正式上市!

2020-06-02 15:31:56

【亲测】linux中添加ftp用户,并设置相应的权限【亲测】

2020-07-29 13:31:46

坚果手机没了!字节跳动暂停手机相关业务,坚果R2刚宣布将大降价

2021-01-18 15:58:29

【亲测】Nginx监听的IP及端口号的设置【亲测】

2020-07-24 11:25:50

陕ICP备2021003534号-1 科技小锅盖 保留所有权利 网站地图 站长QQ:1540217035
    友情链接:
  • 米醋儿
  • 笔墨