microtime
microtime($jako_cislo)
Vrátí aktuální čas s mikrosekundami. S parametrem true jako desetinné číslo sekund od 1. 1. 1970, bez něj jako text „mikrosekundy sekundy“. Používá se hlavně na měření doby běhu.
Parametry
- $jako_cislo – nepovinný, výchozí false. S true vrátí desetinné číslo.
Příklady
// měření doby běhu
$start = microtime(true);
$soucet = array_sum(range(1, 10000));
$doba = microtime(true) - $start;
var_dump(is_float($doba) && $doba >= 0); // bool(true)
// bez parametru vrací text se dvěma částmi
echo count(explode(" ", microtime())); // 2
var_dump(is_string(microtime())); // bool(true)
// s parametrem true číslo blízké time()
var_dump(abs(microtime(true) - time()) < 2); // bool(true)
// výpis v milisekundách
echo number_format(0.0123456 * 1000, 2, ",", " ") . " ms"; // 12,35 ms
// přesnější měření bez vlivu změny systémových hodin (od PHP 7.3)
var_dump(is_int(hrtime(true))); // bool(true)
Na co si dát pozor
- Bez parametru true vrací text, ne číslo. Odečítat se dají jen hodnoty z microtime(true).
- Čte systémové hodiny. Když se během měření seřídí, výsledek nesedí, může vyjít i záporný. Na měření doby je spolehlivější hrtime(), která měří nezávisle na hodinách.
- Jako jedinečný identifikátor se nehodí, dva požadavky mohou dostat stejnou hodnotu.
Příbuzné funkce:
time()
uniqid()
number_format()
hrtime()