利用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); }