第一種
複製** **如下:
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)
//唯一訂單號碼(yyyymmddhhiissnnnnnnnncc)
$order_id = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',str_pad_left);
第四種:
在網上找了一番,發現這位同學的想法挺不錯的,redtamo,具體的請穩步過去看看,我作簡要概述,該方法用上了英文本母、年月日、unix 時間戳和微秒數、隨機數,重複的可能性大大降低,還是很不錯的。使用字母很有代表性bqoccwpzt,乙個字母對應乙個年份,總共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)www.cppcns.com . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));
?>
生成效果:
複製** **如下:
a422694333616096
唉,不過很可惜,最後專案並沒有使用這種方法,說是沒必要搞這麼複雜, - -!
本文標題: php生成唯一訂單號的方法彙總
本文位址: /wangluo/php/122863.html
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 ...
PHP生成唯一訂單號
order number date ymd substr implode null,array map ord str split substr uniqid 7,13 1 0,8 簡單從內到外解析一下這個訂單號生成過程 1 date ymd 這個很容易理解,是在最前方拼接乙個當前年月日組成的數字。...
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 sub...