php 记录脚本执行时间,php 计算PHP脚本执行时间例子

计算PHP脚本执行时间我们会用到microtime函数了,主要原理是在页面开始与结束各加一个函数,然后利用结束时间减去开始时间就可以了,下文来给各位新手介绍一下。

在PHP中,大多数的时间格式都是以UNIX时间戳表示的,而UNIX时间戳是以s(秒)为最小的计量时间的单位。这对某些应用程序来说不够精确,所以可以调用microtime()返回当前UNIX时间戳和微妙数。该函数的原型如下:

mixed microtime([bool get_as_float]); //返回当前UNIX时间戳和微妙数

可以为该函数提供一个可选的布尔型参数,如果在调用时不提供这个参数,本函数以"msec sec"的格式返回一个字符串。其中sec是自UNIX纪元到现在的秒数,而msec是微妙部分,字符串的两部分都是以秒为单位返回的。如果给出了get_as_float参数并且其值等价于TRUE,microtime()将返回一个浮点数。在小数点前面还是以时间戳格式表示,而小数点后面则表示微妙的值。但要注意参数get_as_float是在PHP5.0版本中新加的,所以在PHP5以前的版本中,不能直接使用该参数直接请求一个浮点数。在下面的例子中通过两次调用microtime()函数,计算运行PHP脚本所需要的时间。代码如下所示:<?php

//生命一个计算脚本运行时间的类

class Timer {

private $startTime = 0; //保存脚本开始执行时的时间(以微秒的形式保存)

private $stopTime = 0; //保存脚本结束执行时的时间(以微秒的形式保存)

//在脚本开始处调用获取脚本开始时间的微秒值

function start() {

$this->startTime = microtime(true); //将获取的时间赋值给成员属性$startTime

}

//脚本结束处嗲用脚本结束的时间微秒值

function stop() {

$this->stopTime = microtime(true); //将获取的时间赋给成员属性$stopTime

}

//返回同一脚本中两次获取时间的差值

function spent() {

//计算后4舍5入保留4位返回

return round(($this->stopTime - $this->startTime) , 4);

}

}

$timer = new Timer();

$timer->start(); //在脚本文件开始执行时调用这个方法

usleep(1000); //脚本的主题内容,这里可以休眠一毫秒为例

$timer->stop(); //在脚本文件结束处调用这个方法

echo "执行该脚本用时" . $timer->spent() . "";

?>

在以上脚本中,声明一个用于计算脚本执行时间的类Timer。需要在脚本执行开始的位置调用该类中的start()方法,获取脚本开始执行时的时间。并在脚本执行结束的位置调用该类中的stop()方法,获取脚本运行结束时的时间。再通过访问该类中的spent()方法,就可以获取运行脚本所需的时间。

后面我又打到一个类,下面我们一起来看看吧<?php

/**

* 获取某段程序运行所用的时间

*/

class runtime {

var $StartTime = 0;

var $StopTime = 0;

/**

* 获取系统时间

*

* @return unknown

*/

function get_microtime() {

list($usec, $sec) = explode(‘ & rsquo;

, microtime()); //取系统时间 前半部分是时间戳,后半部分是微妙部分

return ((float)$usec + (float)$sec);

}

/**

* 取程序开始时候的系统时间

*

*/

function start() {

$this->StartTime = $this->get_microtime(); //程序开始的时候用这个方法取一次时间

}

/**

* 取程序结束时候的系统时间

*

*/

function stop() {

$this->StopTime = $this->get_microtime(); //程序结束的时候用这个方法取一次时间

}

/**

* 计算出程序运行所用时间

*

* @return unknown

*/

function spent() {

// return round(($this->StopTime - $this->StartTime) * 1000, 1);

return round(($this->StopTime - $this->StartTime) , 4); //用结束时候的时间减去开始时候的时间,就是程序运行的时间了

}

}

?>

转载随意!带上文章地址吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值