>  기사  >  백엔드 개발  >  PHP에서 고유 주문 번호를 생성하는 5가지 방법

PHP에서 고유 주문 번호를 생성하는 5가지 방법

不言
不言원래의
2018-07-05 10:59:5828859검색

이 글에서는 주로 PHP에서 고유 주문 번호를 생성하는 방법을 소개합니다. 이제 특정 참조 값을 공유합니다. PHP에서 고유 주문 번호를 생성하는 5가지 방법을 참조하세요. 1종

private function doCreateOrderNumber($time){
          $i=1;
          $dd = date('Ymd',$time);
          $aa = 'OH'.$dd;
          $res = $this->orderModel->query("select sn from sr_order_list where sn like '$aa%' order by id limit 1");
          if(!isset($res[0]['sn'])){
                $i = 1;
          }else{
                $i = (int)substr($res[0]['sn'],9,10) + 1;
          }
          while(true){
                $nsn = 'OH'.$dd.$i;
                $exist = $this->orderModel->query("select id from sr_order_list where sn = '$nsn' ");
                if($exist){
                      $i++;
                }else{
                      return $nsn;
                }
          }
    }

2종

$osn = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
echo $osn; //2018070462577
3종

$osn = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
echo $osn; //2018070499495653

4종

$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));
  }
  $osn = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,&#39;0&#39;,STR_PAD_LEFT);
echo $osn; //201807041332258742313727

5종

$code = array(&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;, &#39;E&#39;, &#39;F&#39;, &#39;G&#39;, &#39;H&#39;, &#39;I&#39;, &#39;J&#39;);
$osn = $code[intval(date(&#39;Y&#39;)) - 2011] . strtoupper(dechex(date(&#39;m&#39;))) . date(&#39;d&#39;) . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf(&#39;%02d&#39;, rand(0, 99));
echo $osn; //H704764673624352

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 콘텐츠. PHP 중국어 웹사이트!

관련 권장 사항:

WeChat 결제를 구현하는 PHP 코드

성능 분석을 위한 xhprof의 PHP 7.1 설치 소개

위 내용은 PHP에서 고유 주문 번호를 생성하는 5가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.