PHP函数:生成N个不重复的随机数

王朝学院·作者佚名  2016-05-25  
宽屏版  字体: 小 | 中 | 大 | 超大  

php函数:生成N个不重复的随机数思路:将生成的随机数存入数组,再在数组中去除重复的值,即可生成一定数量的不重复随机数。

程序:

<?php/** array unique_rand( int $min, int $max, int $num )* 生成一定数量的不重复随机数* $min 和 $max: 指定随机数的范围* $num: 指定生成数量*/function unique_rand($min,$max,$num){ $count = 0; $return_arr = array(); while($count < $num){ $return_arr[] = mt_rand($min,$max); $return_arr = array_flip(array_flip($return_arr)); $count = count($return_arr); } shuffle($return_arr); return $return_arr;}

补充说明:

1、生成随机数使用了mt_rand()函数,这个函数比rand()函数快4倍;

2、去除数组重复值时采用了“翻翻法”,就是用array_flip()把数组的key和value交换两次。比用array_unique()快很多。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有