利用PHP生成唯一訂單號,可用作於商城下單,以及和支付寶等第三方支付進行對接
先來一段測試代碼:
$i = 10; while($i) { $no = build_order_no(); $uniqid = uniqid(); var_dump("$non$uniqidn"); // file_put_contents('test.log', "$non$uniqidn", FILE_APPEND);
--$i; } echo PHP_EOL;
測試結果見:http://3v4l.org/BBQ6m#v5515
來自ECSHOP訂單號生成函數:/includes/lib_order.php文件中的get_order_sn()
/** * 得到新訂單號 * @return string */
function build_order_no() { /* 選擇一個隨機的方案 */
mt_srand((double) microtime() * 1000000); return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT); }
原訂單號格式為年月日+5位隨機數,例如:2012022112345。如果你想改變訂單號的生成規則,可對該函數進行修改,我想讓訂單號改為 “PHPALLY” + 年月日 + 6位隨機數字,那么可以這樣修改:
/** * 得到新訂單號 * @return string */
function build_order_no() { /* 選擇一個隨機的方案 */
mt_srand((double) microtime() * 1000000); /* PHPALLY + 年月日 + 6位隨機數 */
return 'PHPALLY' . date('Ymd') . str_pad(mt_rand(1, 999999), 6, '0', STR_PAD_LEFT); }