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()