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

相关推荐

  • PHP处理时间和时区需注意以下三点!

    当被问及是否很难处理日期和时区时,超过 50%的开发人员回答“是”。我的猜测是,那些对这项民意调查说“不”的人要么已经明白了这一点,要么他们没有与必须迎合全球用户的平台/应用程序合作。无论如何,我想创建一篇博…

    2022年6月21日
    0143
  • PHP递归思想说明

    说明:在一个函数内部再次有条件调用自己(当前函数),这个时候就称为“递归调用”,即自己调用自己。 代码 图解 注意: 递归调用必须有一个可以退出的条件,否则无法退出递归调用,就会成死归,也就是说必须逐渐的退…

    2018年4月7日
    0193
  • PHP实现MySQL数据库负载均衡的方法。

    在高并发的情况下,单个服务器无法承受所有的请求,因此需要将请求分散到不同的服务器上进行处理,这就是负载均衡的概念。MySQL作为一种常用的数据库管理系统,也需要负载均衡来提高其性能和可靠性。本文将介绍如何…

    2023年5月21日
    012
  • PHP循环输出某个文件夹下所有子文件以及子文件夹

    静态变量 一般用于函数内,需要使用static关键字定义,静态变量的赋值语句只会执行一次。 第一次执行display,会执行static $i=10,i再加1,再输出i,函数执行后i不会被回收 第二次执行display,不会执行static $i=1…

    2017年11月13日 PHP自学教程
    0334
  • 分享php计算字符串长度。

    在PHP中,计算字符串长度的方法有很多,下面我们将介绍一些常用的方法。 1. strlen()函数:这是一个非常直接的函数,用于获取字符串的长度,它的使用方法如下: echo strlen("Hello World"); // 输出11 2…

    2024年6月16日
    00
  • PHP中的响应式图片加载技巧。

    随着移动设备的普及和网络速度的提升,现在网页中使用图片已经成为了一种必不可少的元素之一。然而,随着图片数量的增加和尺寸的变化,图片的加载速度也成为了一个重要的问题。在这种情况下,我们需要使用响应式图…

    2023年5月28日
    04
  • PHP中如何使用TUS协议来实现大文件的断点续传

    你是否曾经为大文件上传而苦恼?如果文件上传的过程中,因为某种原因中断了,是否可以从中断的位置继续上传,而不用重新上传整个文件?如果你有这样的困惑,那么请继续阅读下面的内容。在现代网站应用中,上传文件…

    2022年6月19日
    0181
  • PHP与数据库缓存的集成。

    随着互联网的发展,数据量与访问量的快速增长,有效地缓存已成为提高网站性能的重要方式。在Web应用程序中,数据库是必不可少的组成部分。为了减轻数据库的负载,促进网站性能的提升,我们需要将缓存技术与数据库集…

    2023年5月21日
    04

联系我们

QQ:951076433

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