thinkphp5随机抽取数据的方法

时间:2025-03-08 11:19:38
/** * 随机获取数据 * @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)->select(); return $list; }