当前位置:首页 > PHP教程 > php应用 > 列表

PHP随机生成18位不重复的订单号代码实例

发布:smiling 来源: PHP粉丝网  添加日期:2022-04-17 09:37:46 浏览: 评论:0 

这篇文章主要介绍了PHP随机生成18位不重复的订单号代码实例,代码很简单但是很实用,有需要的同学可以参考下。

PHP代码:

  1. /** 
  2.  * 生成18位订单号 
  3.  * $length:随机数长度 
  4.  */ 
  5. function generateOrderNumber($length=4){ 
  6.     //14位的日期(年月日时分秒) 
  7.     $date=trim(date('Ymdhis ',time())); 
  8.     //初始化变量为0 
  9.     $connt = 0; 
  10.     //建一个新数组 
  11.     $temp = array(); 
  12.     while($connt < $length){ 
  13.         //在一定范围内随机生成一个数放入数组中 
  14.         $temp[] = mt_rand(0, 9); 
  15.         //$data = array_unique($temp); 
  16.         //去除数组中的重复值用了“翻翻法”,就是用array_flip()把数组的key和value交换两次。这种做法比用 array_unique() 快得多。   
  17.         $data = array_flip(array_flip($temp)); 
  18.         //将数组的数量存入变量count中   
  19.         $connt = count($data); 
  20.     } 
  21.     //为数组赋予新的键名 
  22.     shuffle($data); 
  23.     //数组转字符串 
  24.     $str=implode(","$data); 
  25.     //替换掉逗号 
  26.     $number=str_replace(','''$str); 
  27.     return $date.$number

调用示例:

  1. <?php 
  2. //商户订单号 
  3. $number= generateOrderNumber(); 
  4. ?>

Tags: PHP随机生成订单号

分享到: