生成26位唯一的订单号

/**  * Note        : 生成26位数字的唯一订单号  * Author      : LMZ  * Time        : 2019/9/2  10:50  * @return string  */ 
function create_order_sn(){
        //date("Ymdhis") . sprintf("%08d", $user_id) . mt_rand(1000, 9999);//郝英晨的生成方法

        $sn = date(‘Ymdhis‘) . substr(implode(null, array_map(‘ord‘, str_split(substr(uniqid(), 7, 13), 1))), 0, 8).mt_rand(1000, 9999);//自己改装的方法
        return $sn;
    }
 

原文地址:https://www.cnblogs.com/xiaogou/p/11663189.html

时间: 2024-08-03 18:01:55

生成26位唯一的订单号的相关文章

PHP生成订单号(产品号+年的后2位+月+日+订单号)

require '../common.inc.php'; /* * 产品号+年的后2位+月+日+订单数 * @param [Int] $prodcutId 产品号 * @param [Int] $tradeItemid 订单号 * @return [String] 返回生成订单号串 */ function getTradeNO($prodcutId,$tradeItemid){ if(!is_integer($prodcutId)||!is_integer($tradeItemid))retur

PHP生成唯一的订单号

记:之前面试的时候被面试官问过简历项目中的订单号我是什么规则生成的,我牛逼吹过头了,乱说了一通,靠!今天在公司的项目中订单号生成,好奇,看了下,就是网上的这种而已. 1 * 2 * uniqid - 官方是这样说的: 3 * Gets a prefixed unique identifier based on the current time in microseconds. 4 */ 5 function build_order_no() 6 { 7 return date('Ymd').su

生成一个不重复的订单号(php)

/** * 生成订单号 * * 用uniqid获取一个基于当前的微秒数生成的唯一不重复的字符串(但是他的前7位貌似很久才会发生变动,所以不用考虑可删除),取其第8到13位.但是这个字符串里面有英文字母,咋办? * 用ord获取他的ASCII码,所以就有了下一步:用str_split把这个字符串分割为数组,用array_map去操作(速度快点). * 然后返回的还是一个数组,KO,在用implode弄成字符串,但是字符长度不定,取前固定的几位,然后前面加上当前的年份和日期,这个方法生成的订单号,全

php 生成唯一的订单

1 /** 2 * 生成唯一的订单号 20110809111259232312 3 * 2011-年日期 4 * 08-月份 5 * 09-日期 6 * 11-小时 7 * 12-分 8 * 59-秒 9 * 2323-微秒 10 * 12-随机值 11 * @return string 12 */ 13 public function trade_no() { 14 list($usec, $sec) = explode(" ", microtime()); 15 $usec = s

使用表的id+随机数做不重复的订单号

用于分布式情况下的订单号的创建: 创建表: CREATE TABLE `shop_uuid_18` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `addTime` datetime DEFAULT NULL, `deleteStatus` bit(1) NOT NULL DEFAULT b'0', `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) )

GUID转换成16位字符串或19位唯一字符串

整理几个常用GUID转换成16位字符串或19位唯一字符串方法: /// <summary> /// 根据GUID获取16位的唯一字符串 /// Author : 付义方 /// </summary> /// <param name=\"guid\"></param> /// <returns></returns> public static string GuidTo16String() { long i = 1;

如何生成唯一订单号(转)

首先,订单号有3个性质:1.唯一性 2.不可推测性 3.效率性 唯一性和不可推测性不用说了,效率性是指不能频繁的去数据库查询以避免重复.况且满足这些条件的同时订单号还要足够的短.我在java下定制的订单号生成方式如下:int r1=(int)(Math.random()*(10));//产生2个0-9的随机数int r2=(int)(Math.random()*(10));long now = System.currentTimeMillis();//一个13位的时间戳String paymen

C# 生成唯一订单号

根据GUID+DateTime.Now.Ticks生产唯一订单号 1 /// <summary> 2 /// 生成唯一数 3 /// </summary> 4 public class UniqueData 5 { 6 private static object obj = new object(); 7 private static int GuidInt { get { return Guid.NewGuid().GetHashCode(); } } 8 private sta

php生成唯一订单号

支持更改长度/** * 生成唯一订单号 * */ function build_order_no(){ return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8); }