两种生成固定格式的序列号 订单号
一:
参考微秒数生成
function createOsn(){
$yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');//年份映射对象
$orderSn = $yCode[intval(date('Y')) - 2011] //获取年份对应的映射值
. strtoupper(dechex(date('m'))) //月份
// . date('m')
. date('d') //日期
. substr(time(), -5) //当前时间戳 截取后5位
. substr(microtime(), 2, 5) //当前微秒数 截取
. sprintf('%02d', rand(0, 99)); //随机数 并填充到两位数
return $orderSn;
}
二:
可加入 用户ID等有意义的参数 并 自动补全至固定长度
function caeateOsn(){
$id = 1;
$fixt_length_id = str_pad( $id , 6 , 0 , STR_PAD_LEFT );
$orderSn = date("YmdH").$pad_id;
return $orderSn;
}