(PHP 4, PHP 5, PHP 7)
microtime — Retourne le timestamp UNIX actuel avec les microsecondes
microtime() retourne le timestamp Unix, avec les microsecondes. Cette fonction est uniquement disponible sur les systèmes qui supportent la fonction gettimeofday().
get_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.
Si get_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 avec la fonction microtime()
<?php
/**
* Fonction simple identique à celle en PHP 5 qui va suivre
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Attend pendant un moment
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Ne rien faire pendant $time secondes\n";
?>
Exemple #2 Durée d'exécution d'un script en PHP 5
<?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 #3 Exemple avec microtime() et REQUEST_TIME_FLOAT (depuis PHP 5.4.0)
<?php
// Durée d'attente aléatoire
usleep(mt_rand(100, 10000));
// Depuis PHP 5.4.0, 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";
?>