PHP:我可以保证日期('s')总是返回一个唯一值吗?

时间:2012-04-28 22:07:32

标签: php datetime

如果这个问题有问题,请原谅我。可能这是一个非常愚蠢的问题,但需要确切地知道。

$t = date('s'); // s for second
echo mkTime($t); // 1335629750

以上代码是否总会返回一个唯一的数字,我认为它会返回当前时间戳(仅为秒),这对每个用户来说都是唯一的,我错了吗?

谢谢!

4 个答案:

答案 0 :(得分:2)

  1. 只需使用time()即可获得当前时间戳

  2. 时间戳不是每个用户唯一的,并且不能依赖于唯一值,因为如果多个用户同时调用时可以获得相同的时间戳

答案 1 :(得分:2)

不,当前时间戳不是唯一的。如果您需要一些独特的东西,请使用PHP的函数uniqid。它根据当前时间(以微秒为单位)生成唯一标识符。

答案 2 :(得分:1)

不,如果你在相同的第二次(在同一个脚本或两个不同的请求中)多次调用它,它将不是唯一的。

答案 3 :(得分:1)

是的,脚本在同一秒内运行两次?这根本不可能。所以你无法保证获得一个唯一的号码。如果您需要一些独特的东西,请创建一个(半)随机数,将每个使用过的数字保存在数据库/数据文件中,并检查每次都是否使用该数字。