/**
* 生成不重复的随机数
* @param int $start 需要生成的数字开始范围
* @param int $end 结束范围
* @param int $length 需要生成的随机数个数
* @return array 生成的随机数
*/
function rand_numbers($start=1,$end=10,$length=4){
$connt=0;
$temp=array();
while($connt<$length){
$temp[]=mt_rand($start,$end);
$data=array_unique($temp);
$connt=count($data);
}
sort($data);
return $data;
}
/*
保留键随机打乱数组顺序
*/
function retain_key_shuffle(array &$arr){
if (!empty($arr)) {
$key = array_keys($arr);
shuffle($key);
foreach ($key as $value) {
$arr2[$value] = $arr[$value];
}
$arr = $arr2;
}
}
//Demo
$rands=rand_numbers(0,200,12);
retain_key_shuffle($rands);
foreach($rands as $k=>$v){
echo $v."\r\n";
}