好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

在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   "执行该脚本用时<b>" . $timer ->spent(). "</b>" ;    ?> 

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

后面我又打到一个类,下面我们一起来看看吧,代码如下:

**   * 获取某段程序运行所用的时间   *   */  class  runtime  {     var   $StartTime  = 0;     var   $StopTime  = 0;      /**     * 获取系统时间     *     * @return unknown     */     function  get_microtime()   {     list( $usec ,  $sec ) =  explode (‘ ’, 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);        //开源代码phpfensi.com      return   round (( $this ->StopTime -  $this ->StartTime), 4);  //用结束时候的时间减去开始时候的时间,就是程序运行的时间了    }  }  

查看更多关于php计算PHP脚本执行时间例子的详细内容...

  阅读:64次