分销上级 找下级人数算法

发布于:2015年12月24日 已被阅读

   /**
     * 获取下几级用户下线id
     * @param array $uids 上线用户id数组
     * @param int $nums 初始级数
     * @param int $limitNum 返回级数
     * @param array 返回用户id数组
     * @return array $ids 下几级用户id数组
     */
     public function getDistributors2($uids, $nums = 1, $limitNum = 6, &$ids = array()) {

        if ($uids) {
            $uids = implode(',', $uids);
            $newUids = array();
            $row = M('Test')->query("SELECT id FROM db_test WHERE recUid IN ({$uids})");
            foreach ($row as $k => $v) {
                $ids[$nums][] = $v['id'];
                $newUids[] = $v['id'];
            }
            $nums++;
            if ($nums < $limitNum) {
                $this->getDistributors2($newUids, $nums, $limitNum, $ids);
            }
        }
        return $ids;
    }