在PHP项目中,
不同的项目中,
随机数都是经常用到的,
所以,
对于PHP如何产生不重复随机数,
有五种常用方法,
下面我们进行小结一下吧
方法一
- $numbers = range (1,50); //shuffle 将数组顺序随即打乱
- shuffle ($numbers); //array_slice 取该数组中的某一段
- $num=6;
- $result = array_slice($numbers,0,$num); //截取数组
- var_dump($result);
方法二
- $numbers = range (1,20);
- srand ((float)microtime()*1000000); //本函数传入参数后,配置随机数的种子。本例加入时间的因素,以执行时的百万分之一秒当随机数种子
- shuffle ($numbers);
- while (list($key, $number) = each ($numbers)) {
- echo "$number "; }
方法三
- /*$bengin-$end间随机产生5个不重复的值*/
- function getRand($begin=0,$end=20,$limit=5){
- $rand_array=range($begin,$end);
- shuffle($rand_array);
- return array_slice($rand_array,0,$limit);
- }
- print_r(getRand());
方法四
- $tmp=array();
- while(count($tmp)<5){
- $tmp[]=mt_rand(1,20);
- $tmp=array_unique($tmp);
- //去重
- }
- var_dump($tmp);
方法五
- $tmp = range(1,30);
- print_r(array_rand($tmp,10));
教程结束
祝大家好运
貌似 面试的时候有考过这种题
@Mrxn: 那我就不知道咯