·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> PHP函数:生成N个不重复的随机数

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

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
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()快很多。