**简介**
在做商城项目的时候通常会用到生成订单号,下面是我常用的一个订单号方法。
```
/**
* @return string 订单号
*/
function makeOrderNo()
{
$yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');
$orderSn =
$yCode[intval(date('Y')) - 2018] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) .substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));
return $orderSn;
}
```
再好的订单号生成都会有重复的可能,在我们数据库建表的时候就应该给订单号创建索引,再生成订单号后应查询数据库,查看是否重复,否则重新生成订单号,可以配合递归使用。