生成隨機唯一號碼, 比如訂單號

2021-09-08 18:26:10 字數 432 閱讀 7266

function build_order_no()

echo build_order_no();

輸出結果

用uniqid獲取乙個基於當前的微秒數生成的唯一不重複的字串(但是他的前7位貌似很久才會發生變動,所以不用考慮可刪除),取其第8到13位。但是這個字串裡面有英文本母,咋辦?

用ord獲取他的ascii碼,所以就有了下一步:用str_split把這個字串分割為陣列,用array_map去操作(速度快點)。

然後返回的還是乙個陣列,ko,在用implode弄成字串,但是字元長度不定,取前固定的幾位,然後前面加上當前的年份和日期,這個方法生成的訂單號,全世界不會有多少重複的。

當然,除非你把伺服器時間往前調,但是調也不用怕,哥不相信他會在同一微秒內下兩次訂單,網路資料傳輸也要點時間的,即便你是在本地。

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

PHP生成唯一訂單號

利用php生成唯一訂單號,可用作於 下單,以及和支付寶等第三方支付進行對接 先來一段測試 i 10 while i echo php eol 測試結果見 來自ecshop訂單號生成函式 includes lib order.php檔案中的get order sn 得到新訂單號 return stri...