不是真的,但我遇到了一个问题,在运行这个脚本时,我的时间是一个负数。这是脚本中发生的部分:
public function execute()
{
$time1 = microtime();
foreach($this->tables as $table)
{
if($this->buildQuery($table))
{
if($this->submitQuery($table))
{
$time2 = microtime() - $time1;
echo "Sync Successful({$time2}s).. $table <br /> \n";
//log
}
}
else echo "No data to sync in $table";
}
}
正如您所怀疑的那样..从第一次减去第二次并粗略估计该过程花费了多长时间应该没有错。但是..如果我运行它足够多次,有时结果会打印出以下内容:
Sync Successful(0.062936s).. users
Sync Successful(-0.86901s).. profile
Sync Successful(-0.798774s).. groups
Sync Successful(-0.718851s).. phonebook
Sync Successful(-0.711768s).. products
No data to sync in locations
这是非常罕见的,但这是我上一个结果的精确输出。所以我的问题是:
这怎么可能?当这显然不应该发生时,导致“负面”..
我能做些什么来避免这种情况?有没有更好的方法来解决这个问题?不microtime()
可靠吗?
有人可以借给我一台 1981 年的 DeLorean DMC-12,时速为 88 英里/小时吗?