介绍
这篇文章将为大家详细讲解有关利用PHP怎么生成一个唯一的订单号,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
第一种
return 日期(& # 39;ymd # 39;),只str_pad (mt_rand(1, 99999), 5日,& # 39;0 & # 39;,,STR_PAD_LEFT);
第二种
return 日期(& # 39;ymd # 39;) .substr(内爆(NULL,,到(& # 39;奥德# 39;,,函数(substr(函数(),,7日,13),,1))),,0,,8);
第三种
//生成24位唯一订单号码,格式:YYYY-MMDD-HHII-SS-NNNN, NNNN-CC,其中:YYYY=年份,毫米=月份,DD=日期,HH=24格式小时,2=分,党卫军=秒,NNNNNNNN=随机数,CC=检查码 ,@date_default_timezone_set (“PRC"); ,而(真正的){//才能订购日期 时间=美元才能order_date 日期(& # 39;Y-m-d& # 39;);//才能订单号码主体(YYYYMMDDHHIISSNNNNNNNN) 时间=美元才能order_id_main 日期(& # 39;YmdHis& # 39;),只兰德(10000000,10000000);//才能订单号码主体长度 时间=美元才能order_id_len strlen ($ order_id_main); 时间=美元才能order_id_sum 0; ,,(i=0美元;,i<美元;order_id_len;美元,美元我+ +){ 美元才能order_id_sum +=, (int) (substr (order_id_main美元,美元我,1)); ,,}//才能唯一订单号码(YYYYMMDDHHIISSNNNNNNNNCC) order_id 美元;才能=,order_id_main 美元;只str_pad((100年,安康;order_id_sum 美元;%,100),%,100,2 & # 39;0 & # 39;,STR_PAD_LEFT);
第四种:
在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母,年月日,Unix时间戳和微秒数,随机数,重复的可能性大大降低,还是很不错的。使用字母很有代表性,一个字母对应一个年份,总共16位,不多也不少,呵呵。
& lt; ? php yCode 美元;=,阵列(& # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;,, & # 39; d # 39;,, & # 39; e # 39;,, & # 39; f # 39;,, & # 39;舌鳎# 39;,,& # 39;h # 39;,, & # 39;我# 39;,,& # 39;强生# 39;); orderSn 美元;=,$ yCode [intval中(日期(& # 39;y # 39;)),背后,2011],只strtoupper(函数(日期(& # 39;猴子# 39;))),只日期(& # 39;d # 39;),只substr(时间(),,5),只substr (microtime(),, 2,, 5),只sprintf (& # 39; % 02 d # 39;,,兰特(0,99)); 祝辞;
生成效果:
A422694333616096