microtime() 在 PHP 8.2 中用法不变:推荐用 microtime(true) 获取浮点秒数(精确到微秒),便于计算;字符串格式需解析,精度受系统限制,CLI 模式更准。

microtime() 在 PHP 8.2 中用法和之前版本一致,它默认返回当前时间的微秒级字符串(如 "0.12345678 sec"),也可传入 true 参数直接获取浮点数格式的秒数(含微秒小数部分)。
获取浮点数格式的微秒时间(推荐)
这是最常用、最便于计算的方式:
- 调用
microtime(true),返回一个带小数的浮点数,单位是秒,小数部分精确到微秒(实际精度取决于系统,通常为微秒级) - 例如:
$start = microtime(true); // 返回类似 1712345678.123456 - 可用于性能计时:
$elapsed = microtime(true) - $start;,结果单位为秒,保留约6位小数(即精确到微秒量级)
获取字符串格式的微秒时间
不带参数或传 false 时,返回字符串,需手动解析:
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
-
microtime()返回形如"0.12345600 1712345678"的字符串:前半部分是秒的小数部分(微秒),后半部分是 Unix 时间戳整数秒 - 可配合
explode()拆分提取:$parts = explode(' ', microtime());<br> $microseconds = (float)$parts[0];<br> $seconds = (int)$parts[1];<br> $timestamp = $seconds + $microseconds;
注意点(PHP 8.2 下仍适用)
虽然 PHP 8.2 没有改动 microtime() 行为,但需留意:
立即学习“PHP免费学习笔记(深入)”;
- 返回值精度受操作系统和硬件限制,不能保证绝对精确到 1 微秒;Linux 通常可达微秒,Windows 可能仅达毫秒或 10–15ms
- 在 CLI 模式下精度通常优于 Web SAPI(如 Apache/FPM),因后者受请求调度影响
- 避免用字符串格式做算术运算,优先使用
microtime(true)


















