そうではありませんが、このスクリプトの実行中に青い月に一度、私の時間が負の数になるという問題に遭遇しています。これが起こっているスクリプトの部分です:
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";
}
}
ご想像のとおり..最初から2回目を差し引いて、プロセスにかかった時間を大まかに見積もっても問題はないはずです..しかし..十分な回数実行すると、結果が次のように出力されることがあります。
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()
信頼できないですか?
88 mp/h が可能な 1981 年のデロリアン DMC-12 を誰か貸してくれませんか?