This article mainly introduces the method of generating a unique order number in php, which has a certain reference value. Now I share it with you. Friends in need can refer to it
php generates a unique order number 5 methods
The first one
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; } } }
The second one
$osn = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT); echo $osn; //2018070462577
The third one
$osn = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8); echo $osn; //2018070499495653
The fourth one
$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,'0',STR_PAD_LEFT); echo $osn; //201807041332258742313727
Fifth Type
$code = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'); $osn = $code[intval(date('Y')) - 2011] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99)); echo $osn; //H704764673624352
The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
php code to implement WeChat payment
##Introduction to installing xhprof for performance analysis in PHP 7.1
The above is the detailed content of 5 ways to generate unique order numbers in php. For more information, please follow other related articles on the PHP Chinese website!