PHP函数:生成N个不重复的随机数,php 随机数
PHP函数:生成N个不重复的随机数
思路:将生成的随机数存入数组,再在数组中去除重复的值,即可生成一定数量的不重复随机数。
程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php
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()快很多。
rand(1,8)*100
ans =
Columns 1 through 7
81.4724 90.5792 12.6987 91.3376 63.2359 9.7540 27.8498
Column 8
54.6882
选中A1:A1000,在编辑栏输入
=RAND()
按【CTRL+回车】
再选中B1:B1000,在编辑栏输入
=RANK(A1,a$1:A$1000)
按【CTRL+回车】
http://www.bkjia.com/PHPjc/827776.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/827776.htmlTechArticlePHP函数:生成N个不重复的随机数,php 随机数 PHP函数:生成N个不重复的随机数 思路:将生成的随机数存入数组,再在数组中去除重复的值...