php 高迸发下订单号的生成


//
缩短了订单号长度,最好加上user_id确保更唯一 $code = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']; $code = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $orderSn = $code[intval(date('Y')) - 2015] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', mt_rand(10, 99));

1.这个是从网上找的,其实已经很好了,如果加上用户的id基本上能保证不重复的情况。因为一个用户在一微秒情况下同时下单几乎不可能。(除非黑客攻击)

//缩短了订单号长度,最好加上user_id确保更唯一
$code = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
$code = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$orderSn = $code[intval(date('Y')) - 2015] .
                strtoupper(dechex(date('m'))) .
                    date('d') . substr(time(), -5) .
                        substr(microtime(), 2, 5) .$user_id
                            sprintf('%02d', mt_rand(10, 99));

 

posted @ 2016-03-28 14:54  nikname  阅读(421)  评论(0编辑  收藏  举报