<?php
/**
* 生成不会重复的订单号
* @param mixed|null $prefix
* 为null的时候没有前缀,
* 为空字符串的时候,按年计算前缀,34年不会重复
* @param bool $bigOrder
* 为false的时候表示订单量较小
* 为true的时候表示订单量较大
* @return string
*/
function getCardCode($prefix = null, $bigOrder = false)
{
if ($bigOrder) {
$rand = sprintf('%02d', rand(0, 9999));
} else {
$rand = sprintf('%02d', rand(0, 99));
}
// 如果前缀为null,则表示订单量较小,没有前缀
if ($prefix === null) {
$prefix = '';
} else if ($prefix == '') {
$prefix = getPrefix();
}
return $prefix . substr(time(), -8) . substr(microtime(), 2, 2) . $rand;
}
/**
* 按照年生成前缀
*/
function getPrefix()
{
$str = 'ABCDEFGHIJKLMNPQRSTUVWXY0123456789';
$y = date('y');
$i = $y % 34;
return $str[$i];
}
echo getCardCode('a');
生成不会重复的订单号码 不会重复 订单号
最新推荐文章于 2021-04-02 20:22:57 发布