PHP () Microtime'da ile profil: Negatif zaman?

1 Cevap php

Çok basit bir profil için ben microtime() Bu gibi kullanabilirsiniz:

$now = microtime();
for (...) {
    // do something
    echo microtime() - $now;
    $now = microtime();
}

Şimdi, echo çizgi çıktı ben dalgalanmaları beklenen, olan, tamamen rasgele görünüyor, ama ben didn't negative numbers gösterilmesini bekliyoruz.

Ancak, tipik bir sonuç ~ 1/3 negatif numaralarını içerir. Ben (PHP 5.2.3) Solaris (PHP 5.0.x) ve WinVista bu doğruladı.

Halt Burada ne oluyor? Ben yanlışlıkla bir zaman makinesi icat ettiniz?

1 Cevap

Eğer Microtime'da tarafından döndürülen ne işlemleri yapmak istiyorsanız, true (false it varsayılan) için "olsun float olarak" parametresini ayarlamak zorunda.

http://www.php.net/manual/en/function.microtime.php

$now = microtime(true);
for (...) {
    // do something
    echo microtime(true) - $now;
    $now = microtime(true);
}