php 记录进行累加并显示总时长为秒的结果

yipeiwu_com6年前PHP代码库
现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录:
00:22:32
13:42:21
134:42:21

表示的是时长,但是,保存类型是文本。

现在要求,用php如何将这些记录进行累加,最后显示为一个总时长为秒钟的结果?
复制代码 代码如下:

//连接数据库... 略
$total = 0; //总秒数
$sql = "select duration from test";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
$arr=explode(":",$row[duration]);
$h = $arr[0]*60*60;
$m = $arr[1]*60;
$s = $arr[2];
$total = $h+$m+$s;
}
echo $total;


这里主要是查询出数据,然后使用explode函数,以“:”分割字符串,得到一个数组。
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。
最后得到总秒数。

相关文章

php项目中类的自动加载实例讲解

主要函数:spl_autoload_register() — 注册给定的函数作为 __autoload() 的实现 将函数注册到SPL __autoload函数队列中。如果该队列中的函数...

解析PHP自带的进位制之间的转换函数

bindec() -- 二进制转换为十进制 decbin() -- 十进制转换为二进制 dechex() -- 十进制转换为十六进制 decoct() -- 十进制转换为八进制 hexd...

让PHP以ROOT权限执行系统命令的方法

用来作为解决php以root权限执行一些普通用户不能执行的命令或应用的参考。 其实php里的popen()函数是可以解决这个问题的,但是由于某些版本的linux(如我使用的Centos...

PHP 多进程与信号中断实现多任务常驻内存管理实例方法

PHP 多进程与信号中断实现多任务常驻内存管理实例方法

本文章基于 pcntl 扩展做的多进程测试。 进程调度策略 父子进程的调度由操作系统来负责,具体先调度子进程还是父进程由系统的调度算法决定,当然可以在父进程加上延时或是调用进程回收函数...

PHP取整函数:ceil,floor,round,intval的区别详细解析

我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval。 ceil -- 进一法取整说明float ceil ( float value ) 返回不小于 v...