首先我们分析一下原理,要想得到程序运行时间,那么可以在程序最开始运行的时候定义一个变量记下当前时间,然后等我们程序运行完之后再记录一下当前的时间,两者相差就是该程序运行花费的时间了。
这里介绍一下 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秒,如下图:
为了程序的整洁性,我们可以将此代码写成一个类,用的时候引入进来,然后在程序开始前实例化这个类,结束再调用一个方法也可以实现这功能。