PHP生成唯一訂單號的方法彙總

2022-10-03 12:42:10 字數 1182 閱讀 8657

第一種

複製** **如下:

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...