PHP:我可以保证date(';s';)总是返回唯一的值吗?
如果这个问题有什么不对劲,请原谅。也许这是一个非常愚蠢的问题,但需要确切地知道PHP:我可以保证date(';s';)总是返回唯一的值吗?,php,datetime,Php,Datetime,如果这个问题有什么不对劲,请原谅。也许这是一个非常愚蠢的问题,但需要确切地知道 $t = date('s'); // s for second echo mkTime($t); // 1335629750 上面的代码是否总是返回一个唯一的数字,我想它会返回我当前的时间戳(仅秒),并且对于每个用户来说都是唯一的,我错了吗 谢谢 只需使用time()即可获得当前时间戳 时间戳不是每个用户唯一的,并且不能依赖于它是唯一的值,因为如果同时调用,多个用户可以获得相同的时间戳 否,如果在同一秒钟内多次调用
$t = date('s'); // s for second
echo mkTime($t); // 1335629750
上面的代码是否总是返回一个唯一的数字,我想它会返回我当前的时间戳(仅秒),并且对于每个用户来说都是唯一的,我错了吗
谢谢
time()
即可获得当前时间戳否,如果在同一秒钟内多次调用它(在同一脚本中或在两个不同的请求中),它将不会是唯一的。是的,什么脚本在同一秒钟内运行两次?这根本不是不可能的。所以你根本不能保证得到一个唯一的号码。如果需要唯一的数字,请创建一个(半)随机数,将每个使用的数字保存在数据库/数据文件中,并检查每次使用之前是否都使用了该数字。否,当前时间戳不是唯一的。如果您需要一些独特的东西,请使用PHP函数。它根据当前时间生成一个以微秒为单位的唯一标识符。不,您不能保证它是唯一的。您可以通过在php文档中查找函数轻松解决这一问题。您的代码从当前时间开始计算秒数(例如
30
对于2012-04-28 05:24:30
)。然后将该数字输入到的$hour
参数中。不,它不会总是返回一个唯一的数字…甚至不会接近。