您的位置:时间博客>PHP>tp5 高效率随机查询数据(不重复)

tp5 高效率随机查询数据(不重复)

/*tp5 高效率随机抽取数据(不重复)*/
$num = 1;//需要抽取的默认条数
$tableDb = \think\Db::name('Motto');//需要抽取的数据表
$countcus = $tableDb->count();//获取总记录数
$min = $tableDb->min('id');//统计某个字段最小数据
if($countcus < $num){$num = $countcus;}
$i = 1;
$flag = 0;
$ary = array();
while($i<=$num){
    $rundnum = rand($min, $countcus);//抽取随机数
    if($flag != $rundnum){
        //过滤重复 
        if(!in_array($rundnum,$ary)){
            $ary[] = $rundnum;
            $flag = $rundnum;
        }else{
            $i--;
        }
        $i++;
    }
}
$data = $tableDb->where('id','in',$ary,'or')->select();


转载请注明本文标题和链接:《 tp5 高效率随机查询数据(不重复)
分享到:

相关推荐

网友评论 0

未登陆 表情
Ctrl+Enter快速提交