**簡介**
在做商城項目的時候通常會用到生成訂單號,下面是我常用的一個訂單號方法。
```
/**
* @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;
}
```
再好的訂單號生成都會有重復的可能,在我們數據庫建表的時候就應該給訂單號創建索引,再生成訂單號后應查詢數據庫,查看是否重復,否則重新生成訂單號,可以配合遞歸使用。