gpt4 book ai didi

php - 如何使用 PHP 生成正确的订单号?

转载 作者:行者123 更新时间:2023-11-29 01:51:51 28 4
gpt4 key购买 nike

背景:

我正在创建一个服务预订网站。每个订单都需要有一个唯一的订单号。我选择了 16 位数字,因为这是以前的软件使用的。

问题

我不确定将数据放入订单号是否有任何好处,或者它是否应该只是一个纯随机字符串。

如果它只是一个随机字符串,那么它的唯一目的就是充当 ID。如果是这样,那为什么不使用增量 ID?除了混淆我们为最终用户生成的订单数量之外,我想不出一个好的理由。

如果将数据放入字符串是个好主意,我应该包括什么样的数据?可能是订单日期,但其他我不知道。

我目前正在生成一个像这样的纯随机 16 位字符串。

public function generateOrderNumber()
{
$time = time(); // Time (CET) to hash
$token = md5($time); // Hash stored in variable
return str_shuffle(substr($token, 0, 16)); // Hash shortened to 5 chars and randomised
}

但是我不确定这是否足以用于生产。

最佳答案

如果您需要全局唯一性,比如跨多个数据库定期同步,那么我会使用标准的 128 位 GUID,它可以压缩成 16 个 8 位字节以保持向后兼容性。 PHP 有 com_create_guid 来生成 GUID。

关于php - 如何使用 PHP 生成正确的订单号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39598692/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com