我花了很长时间才解决这个问题并决定寻求帮助。
我这里有一个PHP代码来计算总小时数和分钟数。我知道我应该使用php SUM(totalhours)
,但我想以不同的方式尝试。
$query_hours
获取列'totalhours'
foreach($query_hours->result() as $row){
$tt = $row->totalhours; // 10:58 | 09:20 | 10:00
list($tt1,$tt2) = explode(':', $tt); //$tt1 = 10 | 09 | 10
}
现在的问题是如何得到$tt1
的总和为29?
我试过array_sum($tt1)
但是我收到了一个错误,比如无效的参数,给出的字符串。在使用$thours = array($tt1)
之前已经进行了初始化array_sum()
,但仍然出现了另一个错误:3
答案 0 :(得分:0)
既然你说你想按照自己的方式去做并且不想使用Mysql SUM()
,你可以使用变量来保存循环中的总和
$sum=0;
foreach($query_hours->result() as $row){
$tt = $row->totalhours; // 10:58 | 09:20 | 10:00
list($tt1,$tt2) = explode(':', $tt); //$tt1 = 10 | 09 | 10
$sum+=$tt1;
}
echo $sum;
答案 1 :(得分:0)
使用如下
$total=0;
foreach($query_hours->result() as $row){
$tt = $row->totalhours; // 10:58 | 09:20 | 10:00
list($tt1,$tt2) = explode(':', $tt); //$tt1 = 10 | 09 | 10
$total+=$tt1;
}
echo $total; //your result here
答案 2 :(得分:0)
我认为这可以解决您的问题,试试这个:
$sum=0;
foreach($query_hours->result() as $row){
$tt = $row->totalhours; // 10:58 | 09:20 | 10:00
list($tt1,$tt2) = explode(':', $tt); //$tt1 = 10 | 09 | 10
$sum+=$tt1;
}
echo $sum;
答案 3 :(得分:0)
使用array_sum
时出现的错误是什么?只要你给它一个数组就不应该有任何错误。
$sum = 0;
foreach($query_hours->result() as $row){
$tt = $row->totalhours; // 10:58 | 09:20 | 10:00
$sum += array_sum(explode(':', $tt)); //$tt1 = 10 | 09 | 10
}