当前位置: 首页 > 编程笔记 >

PHP生成唯一订单号的方法汇总

陈刚洁
2023-03-14
本文向大家介绍PHP生成唯一订单号的方法汇总,包括了PHP生成唯一订单号的方法汇总的使用技巧和注意事项,需要的朋友参考一下

第一种


return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);

第二种


return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);

第三种

//生成24位唯一订单号码,格式:YYYY-MMDD-HHII-SS-NNNN,NNNN-CC,其中:YYYY=年份,MM=月份,DD=日期,HH=24格式小时,II=分,SS=秒,NNNNNNNN=随机数,CC=检查码

 @date_default_timezone_set("PRC");

 while(true){

  //订购日期

  $order_date = date('Y-m-d');

  //订单号码主体(YYYYMMDDHHIISSNNNNNNNN)

  $order_id_main = date('YmdHis') . rand(10000000,99999999);

  //订单号码主体长度

  $order_id_len = strlen($order_id_main);

  $order_id_sum = 0;

  for($i=0; $i<$order_id_len; $i++){

  $order_id_sum += (int)(substr($order_id_main,$i,1));

  }

  //唯一订单号码(YYYYMMDDHHIISSNNNNNNNNCC)

  $order_id = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',STR_PAD_LEFT);

第四种:

在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母、年月日、Unix 时间戳和微秒数、随机数,重复的可能性大大降低,还是很不错的。使用字母很有代表性,一个字母对应一个年份,总共16位,不多也不少,呵呵。

<?php 
$yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');
$orderSn = $yCode[intval(date('Y')) - 2011] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));
?>

生成效果:

A422694333616096

唉,不过很可惜,最后项目并没有使用这种方法,说是没必要搞这么复杂, - -!

以上四种方法就是本文给大家分享的全部内容了,希望大家能够喜欢。

 类似资料:
  • 本文向大家介绍PHP生成唯一订单号,包括了PHP生成唯一订单号的使用技巧和注意事项,需要的朋友参考一下 在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母、年月日、Unix 时间戳和微秒数、随机数,重复的可能性大大降低,还是很不错的。使用字母很有代表性,一个字母对应一个年份,总共16位,不多也不少. 1. 生成效果: 2. 输出结果

  • 本文向大家介绍3种php生成唯一id的方法,包括了3种php生成唯一id的方法的使用技巧和注意事项,需要的朋友参考一下 小编在网上查了许多关于php生成唯一id方法的文章,发现有很多的方法,特整理本文与大家分享php生成唯一id的解决方法,希望大家喜欢。 1、md5(time() . mt_rand(1,1000000));   这种方法有一定的概率会出现重复 2、php内置函数uniqid()

  • 本文向大家介绍PHP实现生成唯一会员卡号,包括了PHP实现生成唯一会员卡号的使用技巧和注意事项,需要的朋友参考一下 在不查询数据库的情况下,每个会员登录进来会生成一个数字字母组合不重复的会员卡号。 效果图如下: 当我们要将一个庞大的数据进行编号时,而编号有位数限制,比如5位的车牌号、10位的某证件号码、订单流水号、短网址等等,我们可以使用36进制计算出符合位数的不重复的编号。           

  • 本文向大家介绍php生成随机颜色方法汇总,包括了php生成随机颜色方法汇总的使用技巧和注意事项,需要的朋友参考一下 方法一: 随机生成颜色值(例如 FF00FF). color.php 方法二: 方法三: 使用方法如下: <?php echo '<span style="color: #'.randColor().'">随机颜色:#'.randColor().'</span>';?>

  • 本文向大家介绍PHP生成唯一ID之SnowFlake算法,包括了PHP生成唯一ID之SnowFlake算法的使用技巧和注意事项,需要的朋友参考一下 前言:最近需要做一套CMS系统,由于功能比较单一,而且要求灵活,所以放弃了WP这样的成熟系统,自己做一套相对简单一点的。文章的详情页URL想要做成url伪静态的格式即xxx.html 其中xxx考虑过直接用自增主键,但是感觉这样有点暴露文章数量,有同学

  • 本文向大家介绍PHP生成不重复随机数的方法汇总,包括了PHP生成不重复随机数的方法汇总的使用技巧和注意事项,需要的朋友参考一下 无论是Web应用,还是WAP或者移动应用,随机数都有其用武之地。在最近接触的几个小项目中,我也经常需要和随机数或者随机数组打交道,所以,对于PHP如何产生不重复随机数常用的几种方法小结一下。 方法一: 方法二: 方法三: 上述可以在1-20间随机产生5个不重复的值 方法四