php计算程序运行时间的简单例子分享


Posted in PHP onMay 10, 2014

首先我们分析一下原理,要想得到程序运行时间,那么可以在程序最开始运行的时候定义一个变量记下当前时间,然后等我们程序运行完之后再记录一下当前的时间,两者相差就是该程序运行花费的时间了。

这里介绍一下 microtime() 这个函数,microtime() 用的不多,但是不能不知道这个函数,它是返回当前 Unix 时间戳和微秒数。例如:echo microtime(); 会返回:0.08845800 1376983061。所以可以用explode函数将它以空格为标识分割成一个数组,那么此时的$starttime[0]=0.08845800(微秒数),$starttime[1]=1376983061(当前秒数,相当于time()所得的结果)。

示例代码:

<?php  
 //程序运行时间
 $starttime = explode(' ',microtime());
 echo microtime();
 /*········以下是代码区·········*/
 for($i=0;$i<1000000;$i++){
  $i;
 }
 /*········以上是代码区·········*/
 //程序运行时间
 $endtime = explode(' ',microtime());
 $thistime = $endtime[0]+$endtime[1]-($starttime[0]+$starttime[1]);
 $thistime = round($thistime,3);
 echo "本网页执行耗时:".$thistime." 秒。".time();
?>

最后两者时间相减,再用round()函数对执行的时间保留自己所需的小数位就ok了。比如这里是计算循环一百万次所需要的时间为:0.116秒,如下图:

php计算程序运行时间的简单例子分享

为了程序的整洁性,我们可以将此代码写成一个类,用的时候引入进来,然后在程序开始前实例化这个类,结束再调用一个方法也可以实现这功能。

PHP 相关文章推荐
php 获取客户端的真实ip
Nov 30 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
深入php var_dump()函数的详解
Jun 05 PHP
PHP常用函数和常见疑难问题解答
Mar 05 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
理解php依赖注入和控制反转
May 11 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 #PHP
php递归删除目录下的文件但保留的实例分享
May 10 #PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 #PHP
php使用mkdir创建多级目录入门例子
May 10 #PHP
一个简单的PHP验证码实现代码
May 10 #PHP
php生成随机密码自定义函数代码(简单快速)
May 10 #PHP
php实现按文件名搜索文件的远程文件查找器
May 10 #PHP
You might like
基于mysql的bbs设计(二)
2006/10/09 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
Nuxt.js实战和配置详解
2019/08/05 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
js数组的基本使用总结
2021/01/18 Javascript
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
岗位职责的定义
2013/11/10 职场文书
销售实习自我鉴定
2013/12/07 职场文书
家长评语大全
2014/01/22 职场文书
董事长助理岗位职责
2014/02/18 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书
大学生个人学年总结
2015/02/15 职场文书
2015年司法所工作总结
2015/04/27 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python