/**
* 随机获取数据
* @param string $num 抽取条数
* @param string $table 表名
* @param string $where 查询条件
* @return array
*/
function tt_random_data($num,$table,$where=[])
{
$pk = Db::name($table)->getPK();//获取主键
$countcus = Db::name($table)->where($where)->field($pk)->select();//查询数据
$con = '';
$qu = '';
foreach($countcus as $v=>$val){
$con.= $val[$pk].'|';
}
$array = explode("|",$con);
$countnum = count($array)-1;
for($i = 0;$i <= $num;$i++){
$sunum = mt_rand(0,$countnum);
$qu.= $array[$sunum].',';
}
$list = Db::name($table)->where($pk,'in',$qu)->limit(0,$num)->select();
return $list;
}
亲测有效。