php获取随机数,PHP随机生成6位随机数
在上传文件并对文件进行重命名的时候经常会用到随机数来确保文件名不会重复的情况,大多数时候我们都会使用到随机数,随机数的函数在php当中以rand()和mt_rand()来生成,但是rand()的执行效率比mt_rand()效率低,所以使用mt_rand()来生成,如何生成指定长度的随机数呢,下面我们来看看。
mt_rand()的用法
mt_rand() 使用 Mersenne Twister 算法返回随机整数。mt_rand(min,max)
如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
使用mt_rand()获取指定长度随机数//方法一
function get_random($length = 6) {
$min = pow(10 , ($length - 1));
$max = pow(10, $length) - 1;
return mt_rand($min, $max);
}
//方法二
//6位长度随机数,设置$len=3即可,假如$len=n,则长度为2n
function get_random($len=3){
//range 是将10到99列成一个数组
$numbers = range (10,99);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//取值起始位置随机
$start = mt_rand(1,10);
//取从指定定位置开始的若干数
$result = array_slice($numbers,$start,$len);
$random = "";
for ($i=0;$i
$random = $random.$result[$i];
}
return $random;
}
以上函数就可以生成6位长度的随机数,执行效率也是比较高,对于文件名不像重复的,最好还加上一个时间戳,可以像下面的写法生成一个文件名$str = data('Ymd').'_'.time().self::get_random();
上面用到了pow函数,对pow函数说明一下:
pow函数的用法:pow(x,y);
pow() 函数返回 x 的 y 次方。
本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/207.html
php获取随机数,PHP随机生成6位随机数相关推荐
- java随机生成6位随机数 5位随机数 4位随机数
随机数,应用会相当广,验证数,订单号,流水号拼接. 下面是java随机数生成语句: 生成6位随机数(不会是5位或者7位,仅只有6位): System.out.println((int)((Math.r ...
- 自定义UDF函数:随机生成N位随机数,包含字母,数字
按需求随机生成N位长度的随机数,随机数中由字母和数字随机组成. import java.util.Random; import org.apache.hadoop.hive.ql.exec.UDF; ...
- 随机生成6位随机数(字母+数字)
package com.test;public class test {public static void main(String[] args) {String randomcode = &quo ...
- 随机生成6位字母+数字混合密码
随机生成6位字母+数字混合密码 //定义密码位数private final static int PWD_LENGTH = 6; public static String getPwdRandom() ...
- 随机生成11位激活码
小Z最近在做商城模块,其中有Coupon代金券支付的功能,这里面涉及到激活码生成的问题,现在约定的是随机产生数字的11位激活码,因为用户在手机上输入数字英文混合的激活码是非常不方便的一件事情(有种方法 ...
- 风尚云网前端-js随机生成自定义位随机字符
风尚云网前端-js随机生成自定义位随机字符 废话不多说: 上代码 // 随机生成随机数randomPassword(size) {var seed = new Array("A" ...
- python随机生成四位验证码的代码_Python random随机生成6位验证码示例代码
随机生成6位验证码代码 # -*- coding: utf-8 -*- import random def generate_verification_code(): ''' randomly gen ...
- js随机生成4位验证码
方法一: /*随机生成4位验证码*//*step1:将所有字母,数字装入一个数组备用*/var codes=[];//数字:48-57;unicode编码for(var i=48;i<57;co ...
- //随机生成1位大写字母\小写字母\数字
package HomeWork; //随机生成1位大写字母\小写字母\数字 public class Test_2 {public static void main(String[] args) { ...
最新文章
- linux ftp随机端口,linuxFTP生产环境配置
- Handler消息机制(二):一个线程有几个Handler
- 安卓 内存泄漏检测工具 LeakCanary 使用
- Leetcode 292. Nim 游戏 解题思路及C++实现
- IT职业就业-学长有话说(二)
- 《微服务》九大特性重读笔记
- 《OpenACC并行程序设计:性能优化实践指南》一 第2章 性能导向开发
- 关于只针对ie7浏览器的css问题
- C程序设计(第四版)谭浩强著-学习笔记
- NB-IoT未来发展,主要是靠什么驱动的?
- iphone11主卡在上还是下
- 专利欠费怎么办?教你在网上缴纳专利年费,全网最详细步骤
- word脚注的编辑设置
- 用Gitosis搭建Git服务器(经典资料)
- Git简明入土教程2.4万字-转自廖雪峰Git
- c语言double型小数点后几位_double类型的数据在输出的时候,C语言编译器对小数部分可以精确到小数点后面的第几位?...
- linux下 C语言perror函数的作用
- cad指示箭头快捷键命令_Auto CAD2014画箭头快捷键是什么啊??
- 查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?
- [存储]NVMe-4-数据结构