找无限下级的算法

本文介绍了一种使用PHP实现的团队成员层级结构解析算法,通过递归遍历成员数据,提取并构建团队的下级成员列表。同时展示了ThinkPHP5中获取所有子分类ID的方法,利用数据库操作和循环迭代,实现对分类树的遍历。

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

http://www.thinkphp.cn/code/4463.html

<?php
public function GetTeamMember($members, $mid) {
    $teams=array();//最终结果
    $teams[$mid] = '';
    foreach ($members as $k=>$v) {
        if ( isset($teams[$v['active_uid']]) ) {
            $teams[$v['uid'] ] = '';
            unset($members[$k]);
        } else {
            unset($members[$k]);
        }
    }
//因为获取的是第一个会员下级,所以删除第一个会员
    unset($teams[$mid]);
    return array_keys($teams);
}

tp5的写法

      public  function getAllChildcateIds($categoryID)

    {
        //初始化ID数组
        $array[] = $categoryID;

        do
        {
            $ids = '';
            $mp['higher_id'] = array('in',$categoryID);
            $cate = Db::name('user_info')->where($mp)->select()->toArray();
            //循环二级分类
            foreach ($cate as $k=>$v)
            {
                // unset($cate[0]);
                $array[] = $v['id'];
                unset($array[0]);
                $ids .= ',' . $v['id'];
            }

            $ids = substr($ids, 1, strlen($ids));
            $categoryID = $ids;

        }

        while (!empty($cate));
        $ids = implode(',', $array);
        // return $ids;    //  返回字符串
        return $array;//返回数组

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值