如果这个问题有问题,请原谅我。可能这是一个非常愚蠢的问题,但需要确切地知道。
$t = date('s'); // s for second
echo mkTime($t); // 1335629750
上面的代码是否总是返回一个唯一的数字,我认为它会返回我当前的时间戳(只有第二个),这对于每个用户来说都是唯一的,我错了吗?
谢谢!
只需使用time()
就足以获取当前时间戳
每个用户的时间戳不是唯一的,并且不能被依赖为唯一值,因为如果同时调用多个用户可以获得相同的时间戳
不,当前时间戳不是唯一的。如果您需要一些独特的东西,请使用 PHP 的函数uniqid。它根据当前时间(以微秒为单位)生成唯一标识符。
不,如果您在同一秒内多次调用它(在同一个脚本中或在两个不同的请求中),它不会是唯一的。
是的,脚本在同一秒内运行两次?这根本不是不可能的。因此,您完全不能保证获得一个唯一的号码。如果您需要一些独特的东西,请创建一个(半)随机数,将每个使用的数字保存在数据库/数据文件中,并检查该数字是否在每次之前都使用过。