这两个时间函数哪一个更好?
我在我的网站上有一个表单,每微秒或更少的时间就有成千上万的用户提交,因此,在我的服务器上同时有成千上万的请求。
所以我想使用一个在执行时不使用任何睡眠的方法。$_SERVER['REQUEST_TIME']
和time()
有多独特?两者每微秒都在变化吗?
每次提交表单时,$_SERVER ['REQUEST_TIME']都会更改吗?比如,time()函数将在每个时间差处改变。
我需要给予一个独特的网址,以验证用户在其中追加的唯一结果从任何两个?另外,使用microtime()会让PHP休眠吗?不是吗
6条答案
按热度按时间k75qkfdt1#
看情况了。
$_SERVER['REQUEST_TIME']
对应于请求开始的时间,Web服务器提供此数据。time()
实际上运行了一个系统调用,以检查调用此行的时间。你需要更具体地说明你想做什么,这样我们才能给予你完整的答案。
dgjrabp22#
time()
每秒更改一次。microtime()
(可选,使用(true)
)。$_SERVER['REQUEST_TIME']
是在PHP进程启动时设置的,但它只是一个简单的变量查找,因此速度更快(PHP 5.1; 2005年11月)。大多数时候,你不需要微秒级的分辨率,特别是如果这个进程只运行几分之一秒来生成一个网页。
$_SERVER['REQUEST_TIME_FLOAT']
是请求开始的时间戳,精度为微秒(PHP 5.4; 2012年3月)。hivapdat3#
来自php.net:
$_SERVER ['REQUEST_TIME_FLOAT'];
请求开始的时间戳,精度为微秒。
http://php.net/manual/en/reserved.variables.server.php(注意,请参阅Alister关于使用REQUEST_TIME的说明)
g6baxovj4#
$_SERVER['REQUEST_TIME']
是会话开始的时间,它与使用time()
或microtime()
完全不同,因为它对于该运行是恒定的。xu3bshqb5#
您应该考虑基于microtime()的毫秒数
字符串
qltillow6#
您应该使用time()或microtime(),或者如果需要使其唯一以用于验证目的,则使用uniqid()。
问题是,为什么你需要时间来变得独特?
编辑:因为你编辑了你的问题。
$_SERVER ['REQUEST_TIME']将给予请求开始的时间戳。它将根据用户提出请求的时间而改变。