时间:2021-07-01 10:21:17 帮助过:9人阅读
首先是要用mt_rand()函数生成指定个数的随机数字;
然后使用array_unique()函数去重;
因为去重了;所以得到的数字就不够指定个数了;
所以;核心是要用while循环;直到得到指定个数的数字;
到这里基本可以是结束了;
对于追求完美的人来说;还可以再用个sort();
目的不是要用来排序;主要是将得到的数组key格式化;
用代码来说话;就如下;
/** * 生成不重复的随机数 * @param int $start 需要生成的数字开始范围 * @param int $end 结束范围 * @param int $length 需要生成的随机数个数 * @return array 生成的随机数 */function get_rand_number($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;}
当然;重点不是这个函数;重点是这个函数的思路;可以解决很多类似的问题;