使用microtime()函数可准确统计PHP函数执行时间,通过记录执行前后的时间戳并计算差值得出耗时。示例中$startTime = microtime(true)和$endTime = microtime(true)分别获取起止时间,相减得执行时间$executionTime。为提升复用性,可封装成measureTime函数,利用call_user_func执行回调,并输出耗时结果。注意事项包括:多次运行取平均值以减少误差,保持测试环境一致(如关闭opcache),对极快函数采用循环多次执行求均值,避免在生产环境频繁记录影响性能。该方法简单高效,适用于调试与性能优化场景。

统计PHP函数的执行时间,常用的方法是利用PHP的microtime()函数获取时间戳,通过计算函数执行前后的差值来得出耗时。这个方法简单有效,适合调试和性能优化。
使用 microtime() 统计函数执行时间
microtime(true) 返回当前时间的浮点数值,单位为秒,包含微秒精度。在函数调用前后各记录一次时间,相减即可得到执行时间。
示例代码:
$startTime = microtime(true);// 调用需要测试的函数 yourFunction();
$endTime = microtime(true); $executionTime = $endTime - $startTime;
echo "函数执行时间:{$executionTime} 秒";
立即学习“PHP免费学习笔记(深入)”;
封装成通用计时函数
为了方便重复使用,可以将计时逻辑封装成一个简单的包装函数。
function measureTime($callback) {
$start = microtime(true);
$result = call_user_func($callback);
$time = microtime(true) - $start;
echo "执行耗时:{$time} 秒\n";
return $result;
}
// 使用示例
measureTime(function() {
// 模拟耗时操作
sleep(1);
echo "函数执行完毕\n";
});
注意事项
实际使用中需要注意以下几点:
- 多次运行取平均值更准确,避免单次测试受系统波动影响
- 开启opcache等优化可能影响结果,测试环境应保持一致
- 对于极快的函数,建议循环执行多次再取平均时间
- 不要在生产环境频繁输出或记录执行时间,以免影响性能
基本上就这些,microtime() 是最直接可靠的方案,配合简单的封装就能满足大多数场景的需求。











