<span id="xBmEp"><textarea id="xBmEp"><th id="xBmEp"><samp id="xBmEp"></samp></th></textarea></span>
    <strong id="xBmEp"><samp id="xBmEp"></samp></strong>

  • 分享一个找无限下级的算法

    浏览:1539 发布日期:2019/11/14 分类:基础算法
    最近因为业务原因需要用到一个功能,需要把某些会员的无限下级全部都找出来,刚刚开始的时候直接用递归查询的,但是发现这样特别慢,几万个就要找十几分钟了,根本没法忍下去,所以自己就专门研究了一下,算了,直接进入正题,代码在下面,不理解可以问我,这里我试了下,两万多个的在本地测试花了6秒左右,用服务器就花了2秒钟
    //数据必须根据uid 正序进来
    public function GetTeamMember($members, $mid) {
    $Teams=array();//最终结果
    $Teams[] = $mid;
    foreach ($members as $k=>$v) {
    if (in_array($v['active_uid'], $Teams,true) && !in_array($v['uid'], $Teams,true)) {
    $Teams[] = $v['uid'];
    unset($members[$k]);
    } else {
    unset($members[$k]);
    }

    }
    //因为获取的是第一个会员下级,所以删除第一个会员
    unset($Teams[0]);
    return $Teams;
    }
    评论( 相关
    后面还有条评论,点击查看>>