microtime

(PHP 4, PHP 5, PHP 7)

microtimeGibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück

Beschreibung

microtime ([ bool $getAsFloat = FALSE ] ) : mixed

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.

Parameter-Liste

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.

Rückgabewerte

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

Beispiele

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

// 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";
?>

Siehe auch

  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück
  • hrtime() - Get the system's high resolution time