function uni($array,$nums,$unique=true){ $newarray=array(); if((bool)$unique){ $array=array_unique($array);// 移除数组中重复的值,并且返回数组。 } if(shuffle($array)){// 打乱数组 for ($i=0; $i <$nums ; $i++) { if(in_array($array[$i],$newarray)){ $nums++; }else{ $newarray[]=$array[$i]; } } } return $newarray; } $arr=[1,2,3,4,5,6,7,8,9,10]; $re=uni($arr,3); var_dump($re);