PHP 生成唯一订单号函数

PHP 生成唯一订单号函数

一、应用场景
       有电子商城项目,需要生成订单号。当时的考虑很简单,取系统时间加上随机数,或者使用 uniqid() 方法。仔细考虑下上述方法,在顾客购买量少的情况下,订单重复的可能性为零,但是在购买高蜂期生成的订单号重复是很有可能发生的。

 

二、自定义生成订单号中使用的PHP内置的函数说明如下
函数说明:
       openssl_random_pseudo_bytes函数本身是用来生成指定个数的随机字节
       ceil  函数进一法取整
       bin2hex  函数把包含数据的二进制字符串转换为十六进制值
       substr函数截取字符串
       rand   函数随机生成1至99999随机数
       str_pad函数指定长度填充字符串
三、实现生成25位唯一订单号
1、定义StrOrderOne函数
PHP 生成唯一订单号函数
2、定义一个$date变量储存当前时间,如:180420格式
PHP 生成唯一订单号函数
结果如下:
PHP 生成唯一订单号函数

 

3、生成一个随机数,并转成十六进制值
PHP 生成唯一订单号函数
结果如下:
PHP 生成唯一订单号函数
4、让订单右边填充上00001至99999的随机数
PHP 生成唯一订单号函数
结果如下:
PHP 生成唯一订单号函数
5、接下来我们使用for循环同时生成1万个订单
PHP 生成唯一订单号函数
结果如下:
PHP 生成唯一订单号函数
通过上图所示可以看到数组的个为10000,与我们for遍历中指定最大数一致,代表生成的订单号是没有重复。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/6546.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2018年4月28日 09:24
下一篇 2018年4月28日 09:38

相关推荐

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息