在開發購物功能,涉及到支付比如 微信、支付寶,當下單時需要生成一條唯一的訂單,需要用到唯一的訂單號管理。
//通用生成唯一訂單號 public function onlyosn() { @date_default_timezone_set("PRC"); $order_id_main = date('YmdHis') . rand(10000000, 99999999); //訂單號碼主體長度 $order_id_len = strlen($order_id_main); $order_id_sum = 0; for ($i = 0; $i < $order_id_len; $i++) { $order_id_sum += (int)(substr($order_id_main, $i, 1)); } //唯一訂單號碼(YYYYMMDDHHIISSNNNNNNNNCC) $osn = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100, 2, '0', STR_PAD_LEFT); //生成唯一訂單號 return $osn; }
在laravel-admin中
public function onlyosn() { @date_default_timezone_set("Asia/Shanghai"); $order_id_main = date('YmdHis') . rand(10000000, 99999999); //訂單號碼主體長度 $order_id_len = strlen($order_id_main); $order_id_sum = 0; for ($i = 0; $i < $order_id_len; $i++) { $order_id_sum += (int)(substr($order_id_main, $i, 1)); } //唯一訂單號碼(YYYYMMDDHHIISSNNNNNNNNCC) $osn = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100, 2, '0', STR_PAD_LEFT); //生成唯一訂單號 return $osn; }