php数组排序且取数组条数

     //公共时间方法
public function invitationTime($type,$v){
    if($type==1){ //今天
        $beginToday = mktime(0,0,0,date('m'),date('d'),date('Y'));
        $endToday = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
        $where = "superior REGEXP '^{$v['id']}_' AND createtime between ".$beginToday." AND ".$endToday."";
    }
    if($type==2){ //昨天
        $beginYesterday = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
        $endYesterday = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
        $where = "superior REGEXP '^{$v['id']}_' AND createtime between ".$beginYesterday." AND ".$endYesterday."";
    }
    if($type==3){ //本周
        $beginWeek=mktime(0,0,0,date('m'),date('d')-date('w')+1,date('Y'));
        $endWeek=mktime(23,59,59,date('m'),date('d')-date('w')+7,date('Y'));
        $where = "superior REGEXP '^{$v['id']}_' AND createtime between ".$beginWeek." AND ".$endWeek."";
    }
    if($type==4){ //上周
        $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
        $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));
        $where = "superior REGEXP '^{$v['id']}_' AND createtime between ".$beginLastweek." AND ".$endLastweek."";
    }
    if($type==5){ //本月
        $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
        $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
        $where = "superior REGEXP '^{$v['id']}_' AND createtime between ".$beginThismonth." AND ".$endThismonth."";
    }
    if($type==6){ //上月
        $beginLastmonth=strtotime(date('Y-m-01 00:00:00',strtotime('-1 month')));
        $endLastmonth=strtotime(date("Y-m-d 23:59:59", strtotime(-date('d').'day')));
        $where = "superior REGEXP '^{$v['id']}_' AND createtime between ".$beginLastmonth." AND ".$endLastmonth."";
    }
    return $where;
}

    public function invitation($appId,$type){
    $arr = db("表明")->field("id,superior,avatar,nickname")
        ->where('superior=0')
        ->select();
    foreach($arr as $k=>$v){
        $where = self::invitationTime($type,$v);
        $arr[$k]['count'] = db("表明")
            ->where($where)
            ->count();
    }
    foreach($arr as $key=>$val){
        if($val['count']==0){
            unset($arr[$key]);
        }else{
            if($val['avatar']){
                $arr[$key]['avatar'] = cdnurl($val['avatar'],true);
            }
            $sort[] = $val['count'];
        }
    }
    if(!empty($arr)){
        //排序
        array_multisort($sort,SORT_DESC,$arr);
        $list = array_slice($arr,0,10);
    }
    return $list;
}

本文标题:php数组排序且取数组条数
链接地址:http://pwwzsj.com/article/pddejp.html