导航栏

文章

  • 首页
  • 查看历史

导航栏

  • 登陆
    • 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查询,还是要熟悉一下基础的算法,近期多看看基础算法,分享一下,新公司近期也是熟悉项目和维护


推荐

【亲测】supervisor 进程重复启动相关问题处理【亲测】

2021-11-01 16:46:57

【亲测】laravel 数据迁移 遇到的问题 【亲测】

2021-07-06 14:35:30

两年之内不用换!2020上半年最值得购买的十款国产5G性能旗舰(上)

2020-08-03 18:35:08

目前日本前首相安倍晋三已经没有生命体征

2022-07-08 11:46:57

Windows 10 NTFS文件系统存在严重漏洞 几个字符

2021-01-15 13:42:11

【亲测】阿里云免费证书简单部署【亲测】

2022-05-31 10:55:47

从HMS Core 5.0版看华为的开发者服务意识

2020-07-29 13:46:15

华为已经重启4G手机生产,目前正在积极备货

2020-12-02 09:33:41

Redmi 9A评测:超长续航+大内存,百元智能机首选

2020-07-31 10:31:36

三星Note10系列发布会除了手机,还有哪些硬件产品?

2020-06-02 14:21:24

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