PHP 一个页面执行时间类代码

yipeiwu_com6年前PHP代码库

核心代码

<?php 
class Timer//页面执行时间类 
{ 
var starttime;//页面开始执行时间 
var stoptime;//页面结束执行时间 
var spendtime;//页面执行花费时间 
function getmicrotime()//获取返回当前微秒数的浮点数 
{ 
list(usec,sec)=explode(" ",microtime()); 
return ((float)usec + (float)sec); 
} 
function start()//页面开始执行函数,返回开始页面执行的时间 
{ 
this->starttime=this->getmicrotime(); 
} 
function display()//显示页面执行的时间 
{ 
this->stoptime=this->getmicrotime(); 
this->spendtime=this->stoptime-this->starttime; 
return round(this->spendtime,10); 
} 
} 
/*调用方法 
timer=new Timer(); 
timer->start(); 
/*在此处放入你要执行的脚本或代码 
for(i=0;i<100000;i++) 
{ 
echo i; 
echo "<br>"; 
} 
*/ 
//echo "<p>执行该代码花费时间".timer->display()."秒"; 
?> 

PHP检测每一段代码执行时间

<?php
// 实例1

/**
 * @start time
 */
function proStartTime() {
  global $startTime;
  $mtime1 = explode(" ", microtime());
  $startTime = $mtime1[1] + $mtime1[0];
}

/**
 * @End time
 */
function proEndTime() {
  global $startTime,$set;
  $mtime2 = explode(" ", microtime());
  $endtime = $mtime2[1] + $mtime2[0];
  $totaltime = ($endtime - $startTime);
  $totaltime = number_format($totaltime, 7);
  echo "<br/>process time: ".$totaltime;
}

// 程序调用开始记时
proStartTime();

sleep(1);   // sleep() 延时代码执行若干秒
proEndTime(); // 程序在每一段所消耗的执行时间
sleep(2);
proEndTime();
sleep(3);
proEndTime(); 


/************************************************* 华丽的分割线 **************************************************/

// 实例2

$t1 = microtime(true);
sleep(3);
$t2 = microtime(true);
echo '程序耗时'.round($t2-$t1,3).'秒';

?>

相关文章

php中英文混合字符串截取问题

但是在英文和汉字混合的情况下会出现如下问题: 如果有这样一个字符串 $str="这是一个字符串";为了截取该串的前10个字符,使用 if(strlen($str)>...

php命名空间学习详解

1、什么是命名空间?命名空间是一种特殊的作用域,它包含处于该作用域下的标识符,同时它本身也是一种标识符。可以把命名空间与操作系统的目录对应起来。一个命名空间相当于一个目录,命名空间里的类...

PHP实现一维数组转二维数组的方法

本文实例讲述了PHP实现一维数组转二维数组的方法。分享给大家供大家参考。具体实现方法如下: <?php $asr[1] = array("a","b","c","d"...

php中Ioc(控制反转)和Di(依赖注入)

先看一个例子: <?php class A { public $b; public $c; public function A() { //TODO }...

php解析http获取的json字符串变量总是空白null

今天同事项目中遇到一个问题,通过http接口获取的json字符串使用json_decode始终无法正确解析,返回空白。 直接把结果字符串复制出来手动创建一个变量却正常,在前端js也能解析...