如何在php中根据当前数据和时间生成唯一的id?

问题描述 投票:0回答:3

我需要根据当前日期和时间在 php 中生成一个唯一的 ID,以记录我运行代码的时间。 即每次我运行代码时,它应该能够根据当前日期和时间生成唯一的 ID。

希望我清楚我的问题。如何做到这一点?

php date datetime time unique-key
3个回答
8
投票

使用 time() 创建可排序的唯一 ID

连接字符串还将进一步随机化您想要的结果,并仍然保持可排序。手册这里

$uniqueId= time().'-'.mt_rand();

4
投票

使用 PHP 7,您可以使用它根据当前时间戳生成足够随机的值:

$s = time() . bin2hex(random_bytes(10));

请注意,265 年之后(从 2286 年的 11 位数字开始),时间戳将获得另一位数字,并且排序顺序将关闭;如果您的代码预计能存活那么长时间,您可能需要考虑一些填充。

旧答案

您可以使用

uniqid()
time()
的组合,如下所示:

$s = uniqid(time(), true);

输出示例:

1346136883503c6b3330caf5.19553126

1
投票

这是您要找的吗? uniqid()

来自文档:

根据当前时间(以微秒为单位)获取带前缀的唯一标识符。

© www.soinside.com 2019 - 2024. All rights reserved.