php获取随机订单号(封装函数)

简介: 作为一个开发人员,生成订单时常常需要获取一段随机码来表示订单号,并且订单号一般包含的特定的时间日期等信息,临时现写一个比较浪费时间,这里有一个封装好的生成随机订单号的函数,需要时直接调用即可。

 作为一个开发人员,生成订单时常常需要获取一段随机码来表示订单号,并且订单号一般包含的特定的时间日期等信息,临时现写一个比较浪费时间,这里有一个封装好的生成随机订单号的函数,需要时直接调用即可。


     代码如下:


    /**
     * 获取订单随机号
     * @param int $num  需要多长的订单号,传一个长度
     */
    public function get_order($length)
    {
        $n = $length - 10;
        //1、年月日
        $date = date('Ymd');
        //2、基于微秒生成随机串
        $id = uniqid();
        //3、截取随机串的随机后7位
        $sub = substr($id, 7, 13);
        //4、将随机串分割成数组
        $str_arr = str_split($sub, 1);
        //5、转换成ASCLL值,并取第一位连接成字符串
        $ascll_arr = array_map('ord', $str_arr);
        $ascll_str = implode('', $ascll_arr);
        //6、随机取连续的4位
        $max_start_index = strlen($ascll_str) - 1 - 4;
        $start_index = rand(0, $max_start_index);
        $str = substr($ascll_str, $start_index, 4);
        //7、生成末尾的n位随机数
        $rand = mt_rand('1' . str_repeat('0', $n - 1), str_repeat('9', $n));
        $order = $date . $str . $rand;
        return $order;
    }


由于我是基于fastadmin框架api写接口时使用的这个函数,在调用时只需要


$this->get_order(15)

9dd2cbfa78d8439ab08229be60463488.png

目录
相关文章
|
9月前
|
PHP 开发者
PHP计算过去一定时间段内日期范围函数
这个函数为开发者提供了一个快速而简单的方法来获取与当前日期相关的过去时间范围,代码简洁易懂,可复用性高。
226 15
|
11月前
|
PHP 开发者 索引
探究PHP中常见数组操作函数
在编码实践中,合理利用这些数组操作函数可以简化编程工作,提升代码的效率和可读性。为达到最佳实践,开发者应该通过阅读官方文档来深入理解每个函数的工作原理以及如何在不同的场景下运用它们。
423 8
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
379 5
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
377 1
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
PHP 应用服务中间件
PHP 生成唯一订单号函数
在开发购物功能,涉及到支付比如 微信、支付宝,当下单时需要生成一条唯一的订单,需要用到唯一的订单号管理。
3095 0
|
9月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
479 0
PHP和Mysql前后端交互效果实现
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
608 17