(PHP 4, PHP 5, PHP 7)
microtime — Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück
microtime() gibt den aktuellen Unix-Timestamp mit Mikrosekunden zurück. Diese Funktion steht nur auf Systemen zur Verfügung, die den Systemaufruf gettimeofday() unterstützen.
Für Leistungsfähigkeitsmessungen wird die Verwendung von hrtime() empfohlen.
getAsFloat
Wenn auf TRUE
gesetzt, gibt microtime() einen
float anstatt einem string zurück, wie in
der Rückgabewert-Sektion unten genauer erläutert wird.
Standardmäßig gibt microtime() einen string
im Format "Mikrosekunden Sekunden" zurück, wobei Sekunden
die Sekunden seit Beginn der Unix Epoche
(01. Januar 1970 00:00:00 GMT) sind und Mikrosekunden
die
Anzahl an Mikrosekunden misst, die seit Sekunden
vergangen
sind, was ebenso in Sekunden ausgedrückt wird.
Wenn getAsFloat
TRUE
ist, gibt
microtime() stattdessen einen float
zurück, welcher die aktuelle Zeit in Sekunden seit Beginn der Unix
Epoche angibt (die Nachkommastellen geben die Mikrosekunden an).
Beispiel #1 Zeitmessung einer Skriptausführung mit microtime()
<?php
/**
* Einfache Funktion zum Replizieren des PHP 5-Verhaltens
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Die Skriptverarbeitung fuer einen bestimmten Zeitraum unterbrechen
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "In $time Sekunden nichts getan\n";
?>
Beispiel #2 Zeitmessung einer Skriptausführung in PHP 5
<?php
$time_start = microtime(true);
// Die Skriptverarbeitung fuer einen bestimmten Zeitraum unterbrechen
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "In $time Sekunden nichts getan\n";
?>
Beispiel #3 microtime() und REQUEST_TIME_FLOAT
(ab PHP 5.4.0)
<?php
// zufällige Pausendauer
usleep(mt_rand(100, 10000));
// Ab PHP 5.4.0 ist REQUEST_TIME_FLOAT im superglobale $_SERVER Array verfügbar.
// Es enthält den Zeitstempel des Beginns des Request in Mikrosekunden-Auflösung.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Nichts getan in $time Sekunden\n";
?>