(PHP 4, PHP 5, PHP 7)
microtime — Întoarce timpul curent Unix cu microsecunde
microtime() întoarce timpul curent Unix cu microsecunde. Această funcție este disponibilă numai pe sistemele de operare ce susțin apelul de sistem gettimeofday().
Pentru măsurarea performanței este recomandată utilizarea funcției hrtime().
getAsFloat
Dacă se utilizează și este stabilită în true
, microtime()
va întoarce un float în loc de string, după cum
este descris în secțiunea de mai jos despre valorile întoarse.
În mod implicit microtime() întoarce un string
de forma "msec sec", unde sec
este numărul de secunde ce
s-au scurs de la epoca Unix (0:00:00 1 Ianuarie, 1970 GMT), și
msec
este numărul de microsecunde ce s-au scurs după
sec
exprimat în secunde.
Dacă getAsFloat
este stabilit în true
, atunci
microtime() întoarce un float, care reprezintă
timpul curent în secunde ce s-au scurs de la epoca Unix cu precizia de
microsecundă.
Example #1 Măsurarea timpului de execuție a script-ului cu ajutorul microtime()
<?php
/**
* O funcție simplă pentru a copia comportamentul PHP 5
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Oprește execuția un pic
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Nu am făcut nimic timp de $time secunde\n";
?>
Example #2 Măsurarea timpului de execuție a script-ului în PHP 5
<?php
$time_start = microtime(true);
// Oprește execuția un pic
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Nu am făcut nimic timp de $time secunde\n";
?>
Example #3 microtime() și REQUEST_TIME_FLOAT
(începând cu PHP 5.4.0)
<?php
// ”Adormire” pentru un interval de timp aleator
usleep(mt_rand(100, 10000));
// Începând cu PHP 5.4.0, REQUEST_TIME_FLOAT este disponibil în tabloul superglobal $_SERVER .
// El conține timpul startării interpelării cu precizie de microsecunde.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Nu am făcut nimic timp de $time secunde\n";
?>