《:PHP产生不重复随机数的5个方法总结》要点:

本文介绍了:PHP产生不重复随机数的5个方法总结,希望对您有用。如果有疑问,可以联系我们。

随机数都有其用武之地.在最近接触的几个小项目中,我也经常需要和随机数或者随机数组打交道,所以,对于PHP如何产生不重复随机数常用的几种办法小结一下(ps:办法1、4、5是我常用的,其余来自网络整理)

办法一:

代码如下:

$numbers = range (1,50);

//shuffle 将数组顺序随即打乱

shuffle ($numbers);

//array_slice 取该数组中的某一段

$num=6;

$result = array_slice($numbers,$num);

print_r($result);

?>

办法二:

代码如下:

$numbers = range (1,20);

//播下随机数发生器种子,可有可无,测试后对结果没有影响

srand ((float)microtime()*1000000);

shuffle ($numbers);

//跳过list第一个值(保存的是索引)

while (list(,$number) = each ($numbers)) {

echo "$number ";

}

?>

办法三:

代码如下:

function NoRand($begin=0,$end=20,$limit=5){

$rand_array=range($begin,$end);

shuffle($rand_array);//调用现成的数组随机排列函数

return array_slice($rand_array,$limit);//截取前$limit个

}

print_r(NoRand());

?>

上述可以在1-20间随机产生5个不重复的值

办法四:

代码如下:

$tmp=array();

while(count($tmp)<5){

$tmp[]=mt_rand(1,20);

$tmp=array_unique($tmp);

}

print_r($tmp);

?>

办法五:

代码如下:

$tmp = range(1,30);

print_r(array_rand($tmp,10));

?>

PHP提供非常丰富的数组函数,产生随机数大多可以从数组这个角度出发,若你还有办法提供,欢迎给出,文章将持续更新.

编程之家培训学院每天发布《:PHP产生不重复随机数的5个方法总结》等实战技能,PHP、MysqL、LINUX、APP、JS,CSS全面培养人才。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

5个数中取三个数组合 不重复 php,PHP产生不重复随机数的5个方法总结相关推荐

  1. n个自然数中取r个数的组合

    例:找出n个自然数(1, 2, 3,..., n)中取r个数的组合,设计递归算法进行求解.例如,当n=5, r=3时,从大到小排列的组合数为: 5   4   3    5   4   2    5  ...

  2. 【算法与数据结构】在n个数中取第k大的数(基础篇)

    (转载请注明出处:http://blog.csdn.net/buptgshengod) 题目介绍           在n个数中取第k大的数(基础篇),之所以叫基础篇是因为还有很多更高级的算法,这些以 ...

  3. 【面试题】从123456中取出三个数,取出三个不同数的概率是多少?

    面试题目: 从123456中取出三个数,取出三个不同数的概率是多少? 答案: 随便取数个数: 6 * 6 * 6 = 216: 取出不同数的个数是:6 * 5 * 4 = 120 概率 = 120 / ...

  4. ms 两个数组,从每个数组中取一个数相加,求最大的前k个和

    两个数组,从每个数组中取一个数相加,求最大的前k个和  比如:  数组A:1,2,3  数组B:4,5,6  则最大的前2个和:9,8.  ps:结果放到数组C[k]中 http://www.cnbl ...

  5. Java黑皮书课后题第7章:*7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合

    7.28(数学:组合) 题目 题目描述 破题 代码 运行示例 题目 题目描述 *7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合 破题 声明一个长 ...

  6. [算法] 求排列组合: 从n个数中任选m个数组成一个新数

    #include <iostream> #include <vector>using namespace std;// 求排列组合算法: C(n, m): 从n个数中任选m个数 ...

  7. c语言实验题——字符串排序,C语言中实现“三个数由小到大排序”的多种方法浅析...

    本文通过一个简单示例"三个数由小到大排序",将C语言中许多知识点融会贯通起来,这多种方法的实现可以将函数.宏.指针之间的区别和本质清晰的展示给读者,使本来很复杂难以理解的概念变得通 ...

  8. matlab 两个数中取小,matlab中取两个数中的较小值

    在EXCEL表中,如何取一组数据中的两个最大数和两个最小数?用什么函数? =large(a1:a15,1)第一大=large(a1:a15,2)第二大=small(a1:a15,1)第一小=small ...

  9. 从n个数中选取m个数的所有组合

    题目: n个数1,2,...,n,从这n个数中任意选m个数,输出所有不同组合,共有C(n,m)种不同组合.如n=4,m=2,会产生如下输出: 1 2 1 3 2 3 1 4 2 4 3 4如n=5,m ...

最新文章

  1. 数学图形(2.23)Cylindric sine wave柱面正弦曲线
  2. 【算法学习笔记】堆排序和归并排序、其他几种排序的代码实现、比较和应用(习题)
  3. 【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。...
  4. c++远征之模板篇——函数模板、类模板
  5. nasa 开源_NASA公开数据,白宫新员工以及更多开源新闻
  6. 音视频SDP协议简介
  7. 2021 年高教社杯全国大学生数学建模竞赛题目(B 题 乙醇偶合制备 C4 烯烃)
  8. php 模拟登陆(不带验证码)采集数据
  9. 如何用SQL语句查询Excel数据?
  10. 解决 css 浮动后 父元素高度失效问题
  11. 弱口令扫描工具mysql ftp_超级弱口令检查工具
  12. 计算机主机重装主机过程,电脑怎么重装系统步骤 超简单的电脑重装系统教程...
  13. win10显示未插入扬声器或耳机的解决方案
  14. 改进YOLOv7的早餐价格检测系统
  15. NLP自然语言处理系列-音乐推荐系统实战 -基于矩阵分解(SVD)的推荐
  16. 【cocos creater】5.仿《弓箭传说》- 创建虚拟遥感
  17. Android获取百度音乐下载音乐和歌词下载链接
  18. BJFU_数据结构习题_257统计字符出现的频度
  19. jenkins构建报错“Error occurred during initialization of VMCould not reserve enough space for 2097152KB”
  20. POT超阈值模型和极值理论EVT分析

热门文章

  1. psutil python库
  2. git 原理详解及实用指南_如何编写良好的提交消息:实用的Git指南
  3. ggplot2横坐标标签旋转
  4. 102_Power Pivot DAX 排名后加上总排名数
  5. 小米mysql安装教程_小米 SOAR 开源SQL优化工具安装
  6. 手机卫星定位系统_70%手机已支持北斗却没感受到?下载个App查证下
  7. ROS ( C++) 订阅一个机器人的位置并发布给另外一个机器人作为目标goal
  8. java中IO流的标准异常处理代码
  9. Simulink_Debug的使用
  10. 【CCF】201909-2小明分苹果