microtime
Return current Unix timestamp with microseconds
Description
stringfloat microtime(bool $as_float
= false
)
For performance measurements, using hrtime is recommended.
Parameters
-
as_float
-
If used and set to true
, microtime will return a
float instead of a string, as described in
the return values section below.
Return Values
By default, microtime returns a string in
the form "msec sec", where sec
is the number of seconds
since the Unix epoch (0:00:00 January 1,1970 GMT), and msec
measures microseconds that have elapsed since sec
and is also expressed in seconds as a decimal fraction.
If as_float
is set to true
, then
microtime returns a float, which
represents the current time in seconds since the Unix epoch accurate to the
nearest microsecond.
Examples
Example #1 Timing script execution
<?php
$time_start = microtime(true);
// Sleep for a while
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";
?>
Example #2 microtime and REQUEST_TIME_FLOAT
<?php
// Randomize sleeping time
usleep(mt_rand(100, 10000));
// REQUEST_TIME_FLOAT is available in the $_SERVER superglobal array.
// It contains the timestamp of the start of the request with microsecond precision.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Did nothing in $time seconds\n";
?>