5位随机数重复的概率 php_PHP产生不重复随机数的5个方法总结
无论是Web应用,还是WAP或者移动应用,随机数都有其用武之地。在最近接触的几个小项目中,我也经常需要和随机数或者随机数组打交道,所以,对于PHP如何产生不重复随机数常用的几种方法小结一下(ps:方法1、4、5是我常用的,其余来自网络整理)
方法一:
$numbers = range (1,50);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$num=6;
$result = array_slice($numbers,0,$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,0,$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));
?>
这个可能是比叫简单的了(ps:如果在range中指定了步长,就必须注意array_rand的第二个参数是否超出$tmp的长度)。
PHP提供非常丰富的数组函数,产生随机数大多可以从数组这个角度出发,若你还有方法提供,欢迎给出,文章将持续更新。
5位随机数重复的概率 php_PHP产生不重复随机数的5个方法总结相关推荐
- 5位随机数重复的概率 php_php防止表单重复提交的方法
Token,就是令牌,最大的特点就是随机性,不可预测. Token一般用在两个地方--防止表单重复提交.anti csrf攻击(跨站点请求伪造). 两者在原理上都是通过session token来实现 ...
- 看看Md5自然产生重复的概率
问题:假设有十万个不同的文件,每个文件对应于一个MD5.这十万个MD5中,存在两个相同的MD5的概率是多大? 答: MD5是128位hash码(4个整数,每个整数4个字节).我们假设它的计算结果是足够 ...
- php随机数字不重复,php生成N个不重复的随机数
php生成N个不重复的随机数 生成N个不重复的随机数,如何在php中实现呢?本文分享的这例php代码,可以实现随机数的'生成,生成多个不重复的随机数,有兴趣的朋友参考下. php生成N个不重复的随机数 ...
- c51随机数不重复_怎么让51单片机产生随机数?
刚写的程序,我的思想是用定时器加rand()随机函数来实现的,单片机上电之后通过按键去启动取随机数,若是单片机上电就立即取随机数的话,那每次上电随机的结果都是一样的.然后是0到9不重复的随机数,程序中 ...
- 利用随机数实现指定概率抽奖
一.随机数与概率的规律 假设我们使用随机数生成器,可以产生1-100范围内随机数. 那么每次产生的随机数,其值可能是1-100范围内任意一个数,每个数的概率均等. 所以可以得出,随机数值V与概率P,有 ...
- 随机生成6位数字,且6个数字不重复
随机生成6位数字,且6个数字不重复 public static int random(){int[] array = {0,1,2,3,4,5,6,7,8,9};Random rand = new R ...
- c语言如何产生彩票随机数,随机随机数(彩票概率原理)的详细说明
java.util.Random是Java中的一个类,可以生成随机数,并且可以通过传入相关参数来控制随机数的范围,无论是在实际开发中还是在学习生活中,随机随机数都可以发挥相对大作用. 所以今天,让我们 ...
- 抽奖概率 php_php抽奖概率算法
/* *算法学习自百度.只是学习和记录 */ header("Content-type:text/html;charset=utf-8"); //1.设置奖项,id是奖项id,na ...
- 人工干预随机数中的概率and一些数组的小事
今天在群里丢了一把脸,起因是因为我在研究js里的随机数,前提是我不知道Math.random()会返回0,但是不会返回1,结果被人笑话了,这里拿出来,希望大家也注意这个基础的问题. 前几天在公交车上挤 ...
最新文章
- python项目归纳总结-这4个Python实战项目,让你瞬间读懂Python!
- Android Support 包里到底有什么
- SpringBoot在接受前台参数时提示:Ruquired parameter ‘‘ is not present
- real time AI based system questionaires
- 大话设计模式—单例模式
- JAVA 边界布局管理器
- myeclipse问题
- 号称最强“抓取”工具,没有搞不到的资源!
- Criteo公司在上海新开通一个数据中心
- 光纤跳线接口_如何为10G SFP+光模块搭配对应的光纤跳线类型?
- Ran 0 tests in 0.000s
- circos 可视化手册-plots 篇
- 阿里云大数据ACP认证学习笔记
- 国际高智商组织门萨的智商测试题-谋杀你的脑细胞
- 软考高项 : (14)论信息系统项目的沟通管理
- APP开发-第三方SDK使用
- 多年心路历程见证从技术小白到收获BAT等大厂研发offer,分享一些经验和感悟
- 【测试招聘】资深面试官的测试工程师面试心得
- 基于 Android 的合肥市旅游攻略 App的设计与实现
- 计算机体检查杀病毒,如何去深度查杀电脑病毒