首页技术php随机数不重复 php生成随机数不重复

php随机数不重复 php生成随机数不重复

编程之家2026-06-01931次浏览

大家好,今天给各位分享php随机数不重复的一些知识,其中也会对php生成随机数不重复进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

php随机数不重复 php生成随机数不重复

用php随机生成不重复的数字

php基础教程:用php随机生成不重复的数字。?php$num= 3;$start= 1;$end= 5;$connt= 0;while($connt$num){$a[]=rand($start,$end);//产生随机数$ary=array_unique($a);$connt=count($ary);}foreach($ary as$key=$value){echo$value."br";}? rand生成随机数字,为了保证不重复用了array_unique函数,提取数组中不重复的数字。大家再看下,如果这样写:?php$num= 3;$start= 1;$end= 5;$connt= 0;while($connt$num){$a[]=rand($start,$end);//产生随机数$ary=array_unique($a);$connt++;}foreach($ary as$key=$value){echo$value."br";}?会出现什么情况?因为rand函数可能产生重复的数,比如随机产生了三个数1,2,2,那么通过array_unique函数只提取1,2两个数,则会只生成随机的两位数。所以本代码关键部分在于:条件语句while以及$connt=count($ary)的使用,只有当array_unique提取了不重复的三位数才结束,最终得到随机的数字。大家如果想得到随机的几位数字只要修改$num,修改取值范围只要修改$start和$end的数值。

php 生成多个(比如1w个)不重复的12位随机数,请教!

一般来说你一次搞这么多随机数,每次单独随机排重,1w个随机数弄下来效率就不行了,比较随机函数算法还是效率不是很高;

我感觉最简单做法,先弄好12位按顺序生成大数组,第一种就是array_rand

随机取,第二种就是把12打乱,然后用array_slice取1万条;

你这个问题我关注一下,看看其他有没有好办法。

php随机生成数据库中不存在、不重复数字

说下思路:

php随机数不重复 php生成随机数不重复

1.将生成的数字保存到mysql数据库,然后每次生成的号码不能与数据库的数字重复,请问怎么弄?

先读取数据库已存在的数字,将结果以数组格式,与rand(1,1000)的数组相比较计算差集,去除这部分数字(array_diff),再shuffle,得到新的随机数。

我觉得,你完全可以建立一个序号表,比如,1-1000,每次用时先用随机函数取(1-数据记录数)个数值,再用这个数值取得相应的记录,当取出之后,删除这个记录,这样保证记录总数一直会减少且数字也不会重复。

2.有没有什么办法生成的时候先生成一位数的,一位数生成满了以后再生出两位数的,两位数满了然后再三位数的,以此类推?

先获取一位数的记录,再从中随机抽取一个,如果数据库中没有找到一位数的,就递增一位数,直到找到为止。

3.代码的执行效率希望能越高越好!

php随机数不重复 php生成随机数不重复

如果想要代码执行效率,最好尽量减少与数据库的交互。

关于php随机数不重复,php生成随机数不重复的介绍到此结束,希望对大家有所帮助。

java免费软件?java编程软件python需要学多久?python-pptx