编辑代码

<?php

function generateCustomCode($sequenceNumber) {
    // 获取当前时间
    $currentTime = new DateTime();
    $timestamp = $currentTime->format('YmdHisv'); // 年月日时分秒微秒
    
    // 生成2位随机码
    $randomCode1 = mt_rand(10, 99); // 生成10-99之间的随机数
    
    // 流水号,假设输入的流水号已经是按顺序生成的
    $sequence = str_pad($sequenceNumber, 6, '0', STR_PAD_LEFT); // 流水号6位,不足补0

    // 生成3位随机码
    $randomCode2 = mt_rand(100, 999); // 生成100-999之间的随机数
    
    // 拼接字符串
    return $timestamp . $randomCode1 . $sequence . $randomCode2;
}

// 示例使用
$sequenceNumber = 121; // 示例流水号(可拿数据库主键充当
$order_no =  generateCustomCode($sequenceNumber);

var_dump( $order_no, strlen($order_no) );