- time: documentation ( source)
- microtime: documentation ( source)
<?php
class TimeWrapper
{
private static $now_time = 0;
/**
* @param bool $force_refresh 是否强制刷新
* @return int
*/
public static function getTime($force_refresh = false)
{
if ($force_refresh) {
self::$now_time = time();
} else {
if (!self::$now_time) {
self::$now_time = time();
}
}
return self::$now_time;
}
}
// Dont' abuse 3v4l
$n = 5000;
$start = microtime(true);
for ($i = 0; $i < $n; $i++) {
$t = TimeWrapper::getTime();
}
$finish = microtime(true);
echo "TimeWrapper: " . ($finish - $start) . PHP_EOL;
$start = microtime(true);
for ($i = 0; $i < $n; $i++) {
$t = time();
}
$finish = microtime(true);
echo "time: " . ($finish - $start) . PHP_EOL;