Heim  >  Artikel  >  Backend-Entwicklung  >  5 Möglichkeiten, eindeutige Bestellnummern in PHP zu generieren

5 Möglichkeiten, eindeutige Bestellnummern in PHP zu generieren

不言
不言Original
2018-07-05 10:59:5828841Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Generieren einer eindeutigen Bestellnummer in PHP vorgestellt, die einen bestimmten Referenzwert hat. Jetzt können Freunde in Not darauf verweisen.

PHP generiert eine eindeutige Bestellnummer 5 Methoden

Die erste

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;
                }
          }
    }

Die zweite

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

Die dritte

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

Die vierte

$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

Der fünfte Typ

$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

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Lernen aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

PHP-Code zur Implementierung der WeChat-Zahlung

Einführung in die Installation von xhprof für die Leistungsanalyse in PHP 7.1

Das obige ist der detaillierte Inhalt von5 Möglichkeiten, eindeutige Bestellnummern in PHP zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn