(PHP 4, PHP 5, PHP 7, PHP 8)
microtime — Retourne le timestamp UNIX actuel avec les microsecondes
$as_float
= false
): string|floatmicrotime() retourne le timestamp Unix, avec les microsecondes. Cette fonction est uniquement disponible sur les systèmes qui supportent la fonction gettimeofday().
Pour mesurer les performances, l'utilisation de hrtime() est recommandé.
as_float
Si utilisé et défini à true
, microtime() retournera
un nombre à virgule flottante au lieu d'une chaîne de caractères, tel que décrit
dans la section des valeurs retournées ci-dessous.
Par défaut, microtime() retourne une chaîne de caractères au
format "msec sec", où sec
est le nombre de secondes
depuis l'époque Unix (1 Janvier 1970, 00:00:00 GMT),
et msec
est le nombre de microsecondes qui se sont écoulées
depuis sec
, exprimé en secondes sous forme de fraction
décimale.
Si as_float
est défini à true
, alors
microtime() retourne un nombre à virgule flottante,
qui représente le temps courant, en secondes, depuis l'époque Unix, précis
à la microseconde près.
Exemple #1 Durée d'exécution d'un script en PHP
<?php
$time_start = microtime(true);
// Attend pendant un moment
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Ne rien faire pendant $time secondes\n";
?>
Exemple #2 Exemple avec microtime() et REQUEST_TIME_FLOAT
<?php
// Durée d'attente aléatoire
usleep(mt_rand(100, 10000));
// REQUEST_TIME_FLOAT est disponible dans le tableau superglobal $_SERVER.
// Il contient le timestamp du début de la requête, avec une précision à la microseconde.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Ne rien faire pendant $time secondes\n";
?>