microtime() 默认返回字符串格式的时间戳,而 microtime(true) 直接返回浮点数。使用 true 参数可以避免后续手动解析字符串的开销,并提高时间计算的精度和便利性。

microtime() 返回字符串时的结构是怎样的
当不传参数或传入 false 时,函数返回一个 "msec sec" 格式的字符串。秒数在前,微秒在后,中间用空格分隔。这种格式主要用于人类阅读或特定日志记录场景,但在进行数学运算时需要先拆分再转换类型。

$result = microtime(); echo $result; // 输出示例: "0.123456 1698765432"
microtime(true) 返回浮点数的优势是什么
传入 true 后,函数直接返回自 Unix 纪元以来的秒数,包含小数部分表示微秒。这个浮点数可以直接用于减法计算持续时间,无需任何字符串处理,是性能监控和基准测试的首选方式。
立即学习“PHP免费学习笔记(深入)”;

$start = microtime(true); // ... 执行代码 ... $end = microtime(true); $duration = $end - $start; echo $duration; // 输出示例: 0.001234
在循环中多次调用 microtime(true) 会产生什么结果
在循环中连续调用 microtime(true) 会获取当前系统时间的精确快照。由于系统时钟可能存在微小波动或调度延迟,相邻两次调用的差值通常不为零,而是反映实际经过的微秒级时间。这可用于测量极短代码块的执行耗时,但需注意系统负载对精度的影响。
$times = [];
for ($i = 0; $i < 3; $i++) {
$times[] = microtime(true);
}
$deltas = array_map(function($a, $b) { return $b - $a; }, $times, array_slice($times, 1));
print_r($deltas); // 输出示例: [0.000001, 0.000002]



















