PHP 计算代码执行耗时的代码修正网上普遍错误

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

$t1 = explode(' ', microtime());
// ... 执行代码 ...
$t2 = explode(' ', microtime());
echo ($t2[1]-$t1[1]).'s '.($t2[0]-$t1[0]).'ms';

其实稍微试一下, 就能发现这份代码有个严重的问题. 虽然 t2 得到的时间肯定比 t1 大, 但不代表, 它的微秒数就一定比 t1 的微秒数大. 所以直接相减的话, ms 部分有可能得到的是负数. 因此, 我自己稍微改动了一下, 代码如下:
复制代码 代码如下:

$t1 = microtime(true);
// ... 执行代码 ...
$t2 = microtime(true);
echo '耗时'.round($t2-$t1,3).'秒';

简单说一下. microtime() 如果带个 true 参数, 返回的将是一个浮点类型. 这样 t1 和 t2 得到的就是两个浮点数, 相减之后得到之间的差. 由于浮点的位数很长, 或者说不确定, 所以再用个 round() 取出小数点后 3 位. 这样我们的目的就达到了~

相关文章

PHP 多维数组的排序问题 根据二维数组中某个项排序

PHP内置函数 array_multisort 要求每个数组大小一样 $areas是地区的二维数组,包含人数和次数,现在要按这2种数进行降序排序 复制代码 代码如下: foreach($...

PHP实现获取第一个中文首字母并进行排序的方法

本文实例讲述了PHP实现获取第一个中文首字母并进行排序的方法。分享给大家供大家参考,具体如下: 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的:...

让Json更懂中文(JSON_UNESCAPED_UNICODE)

复制代码 代码如下: <?php echo json_encode("中文"); //"\u4e2d\u6587" 这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得...

php操作access数据库的方法详解

本文实例讲述了php操作access数据库的方法。分享给大家供大家参考,具体如下: 在PHP网站开发中,PHP与Mysql是最好的组合,但是当你想将其他平台的网站移植到PHP平台时,必然...

PHP使用imagick扩展实现合并图像的方法

PHP使用imagick扩展实现合并图像的方法

本文实例讲述了PHP使用imagick扩展实现合并图像的方法。分享给大家供大家参考,具体如下: 女朋友做外贸的,最近需要做个产品册,要求是每张A4纸上有20个图片,我心想小case吧,哥...