<?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) );