php计算程序运行时间的简单例子分享
首先我们分析一下原理,要想得到程序运行时间,那么可以在程序最开始运行的时候定义一个变量记下当前时间,然后等我们程序运行完之后再记录一下当前的时间,两者相差就是该程序运行花费的时间了。
这里介绍一下 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计算百度地图两个GPS坐标之间距离的方法
本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: /** * 计算两个坐标之间的距离(米) * @param float $fP1Lat 起点(纬度) * @param float $fP1Lon 起点(经度) * @param float $fP2Lat 终点(纬度) * @param float $fP2Lon 终点(经度) * @return int */ function distanceBetw
-
php strlen mb_strlen计算中英文混排字符串长度
比较strlen和mb_strlen 当字符全是英文字符的时候,两者是一样.这里主要比较一下,中英文混排的时候,两个计算结果.(测试时编码方式是UTF8) 复制代码 代码如下: <?php $str='中文a字1符'; echo strlen($str); echo '<br />'; echo mb_strlen($str,'UTF8'); //输出结果 //14 //6 ?> 结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以"中文a字1符&q
-
php 计算两个时间戳相隔的时间的函数(小时)
这个是可以具体到小时的php代码 复制代码 代码如下: /* Author: 杨宇 yangyu@sina.cn */ //输入两个时间戳,计算差值,也就是相差的小时数,如返回2:10,则表示输入的两个时间相差2小时10分钟 function hours_min($start_time,$end_time){ if (strtotime($start_time) > strtotime($end_time)) list($start_time, $end_time) = array($end_t
-
php计算多维数组中所有值总和的方法
本文实例讲述了php计算多维数组中所有值总和的方法.分享给大家供大家参考.具体实现方法如下: php 内置函数 array_sum() 函数返回数组中所有值的总和,只能返回一维数组的总和: 计算多维数组所有值的和就要自定义函数了: function get_sum($array) { $num = 0; foreach($array as $k => $v) { if(is_array($v)) { $num += get_sum($v); } } return $num + array_sum
-
php根据身份证号码计算年龄的实例代码
复制代码 代码如下: <?php function getAgeByID($id){ //过了这年的生日才算多了1周岁 if(empty($id)) return ''; $date=strtotime(substr($id,6,8)); //获得出生年月日的时间戳 $today=strtotime('today'); //获得今日的时间戳 $diff=floor(($today-$date)/86400/365);
-
php学习之简单计算器实现代码
复制代码 代码如下: <html> <head> <title>PHP实现简单计算器</title> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> </head> <?php //单路分支 if(isset($_GET["sub"])) { $num1=true;//数字1是否为空
-
php根据生日计算年龄的方法
本文实例讲述了php根据生日计算年龄的方法.分享给大家供大家参考.具体如下: <?php function birthday($birthday){ $age = strtotime($birthday); if($age === false){ return false; } list($y1,$m1,$d1) = explode("-",date("Y-m-d",$age)); $now = strtotime("now"); list
-
php计算两个坐标(经度,纬度)之间距离的方法
本文实例讲述了php计算两个坐标(经度,纬度)之间距离的方法.分享给大家供大家参考.具体如下: 这里使用php计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米 function distance($lat1, $lng1, $lat2, $lng2, $miles = true) { $pi80 = M_PI / 180; $lat1 *= $pi80; $lng1 *= $pi80; $lat2 *= $pi80; $lng2 *= $pi80; $r = 6372.797; //
-
PHP中浮点数计算比较及取整不准确的解决方法
浮点数计算结果比较 一则浮点数计算例子如下: 复制代码 代码如下: $a = 0.2+0.7; $b = 0.9; var_dump($a == $b); 打印出的结果是:bool(false).也就是说在这里 0.2+0.7 的计算结果与 0.9 并不相等,这显然是有违我们的常识的. 对此问题,PHP官方手册曾又说明:显然简单的十进制分数如 0.2 不能在不丢失一点点精度的情况下转换为内部二进制的格式.这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数.例如,十进制的 1/3 变
-
用php简单实现加减乘除计算器
用php实现加减乘除计算器.代码很简单哦! 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona
-
php计算两个日期相差天数的方法
本文实例讲述了php计算两个日期相差天数的方法.分享给大家供大家参考.具体实现方法如下: <?php /** * 求两个日期之间相差的天数 * (针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day2 * @return number */ function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = s
-
PHP基于方差和标准差计算学生成绩的稳定性示例
本文实例讲述了PHP基于方差和标准差计算学生成绩的稳定性.分享给大家供大家参考,具体如下: 项目中的学生端有处个人成长档案模块,要求依据学生近期十次考试成绩通过波动采集分析学生的成绩稳定性.学过数学都知道,这处应该利用数学中的方差来实现.由于是个数学渣,不得不网上看了下相关的说明和公式,见下图 好了,有了公式,那就好办了,接下来就是套公式了. $arr1 = array(50, 100, 100, 60, 50); $arr2 = array(73, 70, 75, 72, 70); funct
随机推荐
- 详解Android端与JavaWeb传输加密(DES+RSA)
- jQuery幻灯片带缩略图轮播效果代码分享
- Java编程使用Runtime和Process类运行外部程序的方法
- iOS10适配之权限Crash问题的完美解决方案
- SSH框架网上商城项目第1战之整合Struts2、Hibernate4.3和Spring4.2
- Javascript - HTML的request类
- localResizeIMG先压缩后使用ajax无刷新上传(移动端)
- php中文验证码实现示例分享
- php实现图片缩略图的方法
- 使用PHP提取视频网站页面中的FLASH地址的代码
- C#.Net ArrayList的使用方法
- mysql安装后添加gbk字符集的方法
- jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
- VBS中InputBox函数的返回值使用技巧
- 日志中的秘密 Windows登录类型知多少?
- 微信小程序 教程之注册页面
- C#汉字转拼音实例(支持多音字)
- java 格式化输出数字的方法
- PHP生成推广海报的方法分享
- 浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器