首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP CodeBase: 生成N个不重复随机

但是我们这里讨论是技术,就是需要生成1-25之间16个不重复随机,去填补。具体怎么设计函数呢?将随机存入数组,再在数组中去除重复值,即可生成一定数量重复随机。 程序如下: <?...php /* * array unique_rand( int $min, int $max, int $num ) * 生成一定数量重复随机 * $min 和 $max: 指定随机范围 *...> 程序运行如下: 2,3,4,6,7,8,9,10,11,12,13,16,20,21,22,24 补充几点说明: 生成随机时用了 mt_rand() 函数。...这个函数生成随机平均速度要比 rand() 快四倍。 去除数组中重复值时用了“翻翻法”,就是用 array_flip() 把数组 key 和 value 交换两次。...返回数组前,先使用 shuffle() 为数组赋予新键名,保证键名是 0-n 连续数字。如果不进行此步骤,可能在删除重复值时造成键名连续,给遍历带来麻烦。

1.4K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何生成重复随机

    标签:Excel公式 有时候,我们想生成一系列随机,但又不希望这些数字中有重复。 如果使用RANDBWEEN函数,如下图1所示,很可能会出现重复数。...图1 要想获取不重复随机,我们需要一点小技巧。例如,想要获取21个不重复随机,可以先将21个数字按顺序排序,然后再从中选择所需数字,这样可以避免出现任何重复数。...步骤1:选择一列中包含21个单元格区域。 步骤2:输入公式:=RAND(),然后按Ctrl+回车键,在所有选择单元格中输入这个公式,如下图2所示。...找到最大值后,使用MATCH在列表中查找该值,其位置即为返回重复值。...图3 生成了21个不重复随机。 你还有其他获取不重复随机公式吗?

    50030

    PHP生成指定范围内N个不重复随机

    思路:将生成随机存入数组,再在数组中去除重复值,即可生成一定数量重复随机。 在PHP网站开发中,有时候我们需要生成指定范围内一定数量重复随机,具体怎么设计这个生产随机函数呢?...我们可以将随机产生存入数组,但在存入同时去除重复值,即可生成一定数量重复随机。...php /* * array unique_rand( int $min, int $max, int $num ) * 生成一定数量重复随机,指定范围内整数数量必须 * 比要生成随机数数量大...这个函数生成随机平均速度要比 rand() 快几倍。 2、去除数组中重复值时用了“翻转法”,就是用 array_flip() 把数组 key 和 value 交换两次。...如果不进行此步骤,可能在删除重复值时造成键名连续,如果用for遍历时候会有问题,但如果用foreach或不需要遍历时候可以不需要shuffle。

    2.6K31

    生成重复随机算法

    本文转载http://blog.csdn.net/zhoufoxcn/article/details/5825093#comments 有时我们需要从指定数值范围内随机产生一个,利用这个伪随机数去实现自己想要实现东西...(Guid.NewGuid().GetHashCode()); int value = rand.next(intMin, intMax)代码实现,但程序员最大 乐趣在于自己动脑,用不同思路写出不同算法...return result;         }         staticint[] GenerateNumber3()         {             // 用于存放1到33这33个...                    index = random.Next(0, container.Length - i);                 //以随机生成值作为索引取container...中值                    value = container[index];                 //将随机取得值放到结果集合中

    1.6K10

    PHP生成重复订单号

    使用场景:商城、微信支付等生成订单号需求 方法一 比较常见一种简单方法 使用date()函数,获取当前日期数字,再配合rand()函数,生成几位随机。便是一个简单12位订单号了 <?...php function getOrderNum(){     $date = date('Ymd');     $rand = rand(0,9).rand(0,9).rand(0,9).rand(0,9...$rand; } echo getOrderNum(); uniqid()函数基于以微秒计的当前时间,生成一个唯一 ID。...当时前面的7位是不会经常变动(应该是秒数,一秒一次) 所以我们使用substr()函数,截取字符串,从第8位到13位,接着这里会有一个问题,得到是数字+字母随机,如果你需要订单号可以包含字母,...合适范围(5~12),最大12 这里是完全随机字符。而且是基于时间微秒来生成重复可能性非常非常低,之所以加上时间日期,是为了看起来更加统一。

    2.8K11

    C# Random 生成重复随机

    若要提高性能,请创建一个随时间推移能生成多个随机 Random 对象,而不要反复新建会生成同一个随机 Random 对象。...用 C# 生成重复随机 我们可以使用两种方式初始化一个随机发生器: 第一种方法指定随机种子,系统自动选取当前时间作为随机种子: Random ro = new Random(); 第二种方法可以指定一个...指定上下限使用如下:  int iResult;  iResult=ro.Next(); 下面的代码指定返回小于100随机:  int iResult;  int iUp=100;  iResult...dResult;  dResult=ro.NextDouble(); 但是用Random类生成题号,会出现重复,特别是在数量较小题目中要生成重复题目是很难。...0) {     hashtable.Add(nValue, nValue);     Console.WriteLine(nValue.ToString()); } } 方法3:递归,用它来检测生成随机是否有重复

    1.8K10

    C# Random 生成重复随机

    若要提高性能,请创建一个随时间推移能生成多个随机 Random 对象,而不要反复新建会生成同一个随机 Random 对象。...用 C# 生成重复随机 我们可以使用两种方式初始化一个随机发生器: 第一种方法指定随机种子,系统自动选取当前时间作为随机种子: Random ro = new Random(); 第二种方法可以指定一个...指定上下限使用如下:  int iResult;  iResult=ro.Next(); 下面的代码指定返回小于100随机:  int iResult;  int iUp=100;  iResult...dResult;  dResult=ro.NextDouble(); 但是用Random类生成题号,会出现重复,特别是在数量较小题目中要生成重复题目是很难。...0) {     hashtable.Add(nValue, nValue);     Console.WriteLine(nValue.ToString()); } } 方法3:递归,用它来检测生成随机是否有重复

    1.5K20

    PHP生成随机(昵称随机生成器)

    php /** * @param int $type 1生成昵称,2生成姓名 * //汉语 - 给用户自动生成昵称 */ function nickname($type = 1){...醉熏','潇洒','糊涂','积极','冷酷','深情','粗暴', '温柔','可爱','愉快','义气','认真的','威武','帅气','传统','潇洒...','漂亮','自然','专一','听话','昏睡','狂野','等待','搞怪', '幽默','魁梧','活泼','开心','高兴','超帅','留胡子'...'英勇','健忘','故意','无心','土豪','朴实','兴奋','幸福','淡定','不安','阔达','孤独', '独特','疯狂','时尚','落后...'凶狠','害怕','重要','危机','欢喜','欣慰','满意','跳跃','诚心','称心','如意','怡然','娇气','无奈','无语','激动','愤怒'

    6K30

    【说站】java每次生成重复随机

    java每次生成重复随机 本教程操作环境:windows7系统、java10版,DELL G3电脑。...1、方法说明 Math.random()返回值为[0.0,1.0)double型数值,由于double型精度较高,可视为随机,借助(int)进行类型转换,可获得整数随机。...=100,min=1; int ran2 = (int) (Math.random()*(max-min)+min); System.out.println(ran2); } 有时候我们会需要一些随机生成数字进行使用...,而这java种有着生成随机数字方法。...本篇所带来是Math.random()方法,可以随机生成一些整数随机数字。 以上就是java每次生成重复随机方法,大家可以先就方法使用进行了解,然后再动手尝试代码操作。

    55840

    数组中重复

    之前有写过 找出数组中只出现一次,今天再来看下怎么找出数组中重复出现。 有一个长度为 n 数组,所有的数字都在 0~n-1 范围,现在要求找出数组中任意一个重复数字。...思路二: 利用空间换时间思想,新建一个哈希表,然后遍历数组,每扫描一个元素都去哈希表里查找是否也存在该元素,如果存在,即找到一个重复,如果不存在,则将该元素保存到哈希表。...如果 arr[i] 不等于 i,则继续拿 arr[i] 和 arr[arr[i]] 比较,如果 arr[i] 和 arr[arr[i]] 相等,则找到一个重复,因为该数字在 i 下标和 arr[i]...交换了之后,再重复上面的比较、交换操作,直到找到一个重复。 arr = [4,1,1,3,2,5,5] arr[0] != 0 则比较 arr[0] 和 arr[4] arr[0] !...= 0 则比较 arr[0] 和 arr[1] arr[0] == arr[1] 找到一个重复 你可能会问,为什么要交换,交换目的就是为了把元素放到属于它位置上,要让这个数组满足 arr[i]

    1.7K20

    如何在PHP生成随机

    return $rands; } 第五种开始创建验证码(直接用函数生成,比较方便快捷) $code = rand(10000, 99999); php mt_rand生成0~1随机小数效果比较 lcg_value...说明 float lcg_value ( void ) lcg_value() 返回范围为 (0, 1) 一个伪随机。...本函数组合了周期为 2^31 – 85 和 2^31 – 249 两个同余发生器。本函数周期等于这两个素数乘积。 返回:范围为 (0, 1) 伪随机。 <?...php /** * 生成0~1随机小数 * @param Int $min * @param Int $max * @return Float */ function randFloat($min...3.随机阅读推荐 + php给源码加密方法总结:https://www.zalou.cn/article/134506.html 以上就是如何在PHP生成随机详细内容,更多关于PHP随机资料请关注

    1.5K10

    PHP内置函数生成随机实例

    1. rand函数 rand() 函数可以不加任何参数,就可以生成随机整数。如果要设置随机范围,可以在函数中设置 min 和 max 值。如果需要生成随机种子,使用 srand 函数配置。...srand($seed); // 播下随机发生器种子 echo rand(); // 根据种子生成 0~32768 之间随机。...如果 $seed 值固定,则生成随机也不变 echo rand(1000000, 9999999); // 根据种子生成 1000000~9999999 之间随机。...// 播下随机发生器种子 echo rand(); // 根据种子生成 0~RAND_MAX 之间随机,如果 $seed 值固定,则生成随机也不变 echo rand(1000000..., 9999999); // 根据种子生成 1000000~9999999 之间随机,如果 $seed 值固定,则生成随机也不变 说明:rand() 和 mt_rand() 两个函数生成随机都是整数

    99351

    PHP 生成时间种子 批量 随机

    HP时间种子批量随机。本文说明PHP如何用时间种子批量生成随机PHP函数mt_rand()和rand()会在批量生成时候是会有几率出现重复随机。...srand()和mt_srand()在PHP4.1开始已经不在显式调用了,在mt_rand和rand时候会自动生成种子。因为,在批量随机时候,我们自己显式条用生成种子,就可以避免重复。为什么呢?...php //存储生存随机 $randArr = array(); //生成十万个吧 for($i=0;$i<100000;$i++){ //生成种子 $date = explode(...' ', microtime()); $seed = $date[0]; //种子发生器 mt_srand($seed); //生成随机 $randArr[]...> 随机生成了。并且不会重复哦。以时间为种子好处就是省略了在普通伪随机会出现重复情况时进行do{生成随机code}while(!isset(新生成一个随机))判断步骤。

    1.2K00

    PHP加密伪随机生成使用

    PHP加密伪随机生成使用 今天我们来介绍PHP加密伪随机生成器(CSPRNG 扩展)。...随机生成其实非常简单,使用 rand() 或者 mt_rand() 函数就可以了,但是我们今天说这个则是使用了更复杂算法一套随机生成器。...rand() 已经不是很推荐使用了,mt_rand() 生成速度更快一些,也是现在主流函数,而加密伪随机生成函数则是密码安全,速度会比 mt_rand() 略慢一点。...它需要依赖操作系统一些函数,这个我们后面再说。 这个加密扩展已经集成在 PHP7 中,不需要特别的安装,如果是 PHP7 以下版本需要独立安装扩展。...如果在测试时找不到下面介绍函数,请检查当前 PHP 版本。

    1.2K30

    用GUID生成随机重复性基本为0)

    随机不管是前端还是后端都会用到一个地方,不管是从验证码还是各种生成状态码,基本都是随机生成,还有就是一些抽奖算法,也是用随机数来处理生成随机方法目前是很多,但是其实很多是重复性很大...,今天简单讲一下怎么生成随机重复性很低一种办法GUID(Globally Unique Identifier)一种由算法生成二进制长度为128位数字标识符 不重复原理:GUID 总数达到了...用于生成GUID算法通常都加入了非随机参数(如时间),以保证这种重复情况不会发生。...BB上代码: GUIDjs: function GUID() { this.date = new Date(); /* 判断是否初始化过,如果初始化过以下代码,则以下代码将不再执行...格式,即8位时间,包括毫秒,毫秒为2位:12300933 * 返回值:返回GUID日期格式字条串 */ GUID.prototype.getGUIDTime

    2.6K30
    领券