部门分组递归处理

这段代码实现了一个无限分组的部门数据处理,通过递归调用`getDepartmentAttr`函数,根据父级ID `$fw_id` 构建了一个层次化的部门树结构。每个节点包含其子节点,并在没有子节点时删除对应的`children`属性。此方法适用于组织结构的层级展示和管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   /**
     * Notes:部门无限分组处理
     * User: David
     * DateTime: 2022/6/6 14:22
     * @param $a
     * @param $fw_id
     * @return array
     */
    public static function getDepartmentAttr($a,$fw_id){
        $tree = array();                                //每次都声明一个新数组用来放子元素
        foreach($a as $v){
            if($v['supdepid'] == $fw_id){                      //匹配子记录
                $v['children'] = self::getDepartmentAttr($a,$v['fw_id']); //递归获取子记录
                if($v['children'] == null){
                    unset($v['children']);             //如果子元素为空则unset()进行删除,说明已经到该分支的最后一个元素了(可选)
                }
                $tree[] = $v;                           //将记录存入新数组
            }
        }
        return $tree;                                  //返回新数组
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值