Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:我可以保证date(';s';)总是返回唯一的值吗?_Php_Datetime - Fatal编程技术网

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
    参数中。不,它不会总是返回一个唯一的数字…甚至不会接近。