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));