這幾天一直在寫個人使用的使用者中心,雖然期間遇到不少的問題,但還是一點點的都解決了,也從製作期間學到不少的知識,今天就說一說利用php生成訂單單的方法。
php**
$str = date('ymd') . str_pad(mt_rand(1, 99999), 5, '0', str_pad_left); /**飛鳥慕魚部落格 */ echo $str;
複製
注:這種方式是利用當前的時間,加隨機機補全的方法生成,當然我們可以把時間精確到秒級
**
$str = date('ymd').substr(implode(null, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8); /**飛鳥慕魚部落格 */ echo $str;
複製
說明:這種方法和第一種差不多,不過要比第一種複雜一些
**
//生成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);
複製
這個第四種的方法,感覺非常的有意思,當時我看到這段**的時候,就為寫出這段**的人感到驚訝。
**
$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));
複製
說明一下:該方法用上了英文本母、年月日、unix 時間戳和微秒數、隨機數,重複的可能性大大降低,還是很不錯的。使用字母很有代表性,乙個字母對應乙個年份,總共16位,不多也不少。
pHP生成唯一單號
這幾天一直在寫個人使用的使用者中心,雖然期間遇到不少的問題,但還是一點點的都解決了,也從製作期間學到不少的知識,今天就說一說利用php生成訂單單的方法。php str date ymd str pad mt rand 1,99999 5,0 str pad left 飛鳥慕魚部落格 echo str...
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...