/** array unique_rand( int $min, int $max, int $num )* 生成一定数量的不重复随机数* $min 和 $max: 指定随机数的范围* $num: 指定生成数量* 说明:生成随机数时用了 mt_rand() 函数。这个函数生成随机数的平均速度要比 rand() 快四倍。去除数组中的重复值时用了“翻翻法”,就是用 array_flip() 把数组的 key 和 value 交换两次。这种做法比用 array_unique() 快得多。返回数组前,先使用 shuffle() 为数组赋予新的键名,保证键名是 0-n 连续的数字。若不进行此步骤,可能在删除重复值时造成键名不连续,不利于遍历。*/function unique_rand($min, $max, $num) {$count = 0;$return = array();while ($count < $num) {$return[] = mt_rand($min, $max);$return = array_flip(array_flip($return));$count = count($return);}shuffle($return);return $return;}

  // 测试$arr = unique_rand(1111, 9999, 16);sort($arr);$result = '';for($i=0; $i < count($arr);$i++){$result .= $arr[$i].',';}$result = substr($result, 0, -1);echo $result;

转载于:https://www.cnblogs.com/phpfensi/p/4643049.html

生成一定数量的不重复随机数相关推荐

  1. PHP高效生成一个不重复随机数

    PHP生成一个不重复随机数组的封装方法 /* * array unique_rand( int $min, int $max, int $num ) * 生成一定数量的不重复随机数 * $min 和 ...

  2. php rand 重复,php如何使用rand生成不重复随机数

    php使用rand生成不重复随机数的方法:首先为数组的每个数字按其下标顺序赋值:然后开始取范围[ i,$num-1 ]范围内的随机数[$rand],并将获取到的随机数[$rand]作为数组中当前位置: ...

  3. 生成一定数量的随机数,并且不重复的方法

    2019独角兽企业重金招聘Python工程师标准>>> /*** +--------------------------------------------------------- ...

  4. JAVA生成不重复随机数算法

    一个不错的算法,很简单,但有效.不过如果范围比较大,则占用内存大,就不推荐使用了.个人感觉1000个以内的就可以考虑.这东西也许你早就知道了,但我依然惊叹算法的力量. 看代码 import java. ...

  5. C#生成不重复随机数列表

    C#生成不重复随机数列表 C#生成不重复(随机数 http://www.jbxue.com/tags/suijishu.html)列表实例的代码. 例子:    /// <summary> ...

  6. Java生成不重复随机数,双色球程序Demo

    Java生成不重复随机数,双色球Demo 设计一个程序,可以产生福利彩票的双色球中奖号码. 规则:6红球,1个蓝球 6个红球范围:1-33 1个蓝球:1-16 代码 import java.util. ...

  7. (原创)按照一定的格式生成一定数量的随机数的例子

    在很多时候需要按照一定的格式生成一定数量的随机数,下面是实现方法 下面是自己写的类 public class MyRandom  {   private string _strin;   privat ...

  8. java contains_Java基础教程|生成不重复随机数 java

    生成不重复随机数 java java生成随机数可以使用Math类中的方法.不随机可以使用List进行判断存储.(推荐教程:java教程 ) 1 . 调用java.lang下面Math类中的random ...

  9. 算法--生成m个指定范围的不重复随机数的三种方法分析(Java实现)

    Q题目 如何产生m个在0-N范围内的无重复的随机数(不包含N) A解法 2.1 常见解法有两种: 1.间接获取--采用随机下标从已实例化的数组中取元素 2.直接获取随机数--然后一一排除 2.2 间接 ...

最新文章

  1. CSS属性之字体(Font)
  2. myeclipse智能提示设置
  3. java rhino import_java调用javascript :js引擎rhino
  4. 【Linux】统信UOS桌面壁纸右下角的统信UOS水印怎样去掉
  5. Xcode中常见的错误,警告和解决方法
  6. 组装台式电脑配置清单_萌新攒机必备!多价位台式电脑配置清单!
  7. 数据可视化基本套路总结
  8. 广告投放媒体发展简史
  9. IDEA配置Android-SDK
  10. 神经网络发展的三个阶段,人工神经网络的发展
  11. 综论数据库防火墙的自我修养系列之一:高可用性
  12. MySQLyog的使用
  13. python学习__tsv文件写入多余空行问题
  14. Android Studio Shape属性(上)
  15. 男闺蜜下载 v1.6.2 安卓版
  16. Java--第1天--日期(一)
  17. android 开发英语单词统计
  18. Eigen 对矩阵的每个元素取绝对值
  19. LeetCode221117_125、904. 水果成篮
  20. 「黑镜」回归!剧中的杀戮机械狗或在两年内来到你身边

热门文章

  1. python 随机请求头_为了爬虫换个头,我用python实现三种随机请求头方式!
  2. 递归法:走楼梯; 旋转数组的最小数字(递归法和改进二分法)
  3. static_cast与dynamic_cast类型转换
  4. bzoj 4956: [Wf2017]Secret Chamber at Mount Rushmore(最短路)
  5. python找到列表中最大和最小的数
  6. hls和modelsim联合仿真生成波形找不到wlf文件
  7. zynq文档学习之GPIO寄存器基本操作
  8. @Transactional之Spring事务深入理解
  9. 7.11 其他面向对象设计原则2:能用组合的地方,不要用继承
  10. SQL数据去重复 Distinct 和 row_number() over()