rand()函数与mt_rand()函数生成随机字符串及区别

1.首先说明一下两者的区别:

mt_rand()函数比rand()返回结果的速度快4倍(注:这个四倍结果,php文档中是有进行说明的);所以,在生成随机字符串的过程中,推荐大家使用mt_rand()函数。

2.接下来,介绍一下这两个函数的用法(其实用法基本一致):

rand(min,max)

mt_rand(min,max)

min,可填可不填,默认返回0

max,同样可填可不填,默认返回规定最大数,mt_getrandmax()(注:mt_getrandmax函数返回通过调用 rand() 、mt_rand()函数显示的随机数的最大可能值

缺点:两个函数在在生成字符串的时候,是有存在重复的可能性,给到的max越大,重复可能性越小,针对一些小项目基本够用了;所以在并发量高的情况下使用此函数,并不适用,但是一些大厂也有自己定义的方式,避免出现重复性;

例:

rand(100,999);// echo输出,即在100和999之间生成三位随机数字

rand(10000,99999);// echo输出,即在10000和99999之间生成五位随机数

mt_rand(1000,9999);//echo 输出,即在1000和9999之间生成的随机数

 

分享一下:

本人平常在项目中常用的生成比如订单ID啊,商品ID啊,优惠券ID,卡ID等等场景常用到的,虽然严格来说不那么严谨,小项目可用

订单: 'D'. date('ymdhis') . mt_rand(1000,9999); 

商品ID:  'G' . mt_rand(10000,99999);

例子就不多说啦。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值