PHP:如何从 list() 中获取总和?
PHP: how can I get sum from list()?
我花了很长时间才解决这个问题,所以决定寻求帮助。
我这里有一个 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)
但我得到了一个错误,比如无效的参数,给定的字符串。在使用 array_sum()
之前已经进行了初始化 $thours = array($tt1)
但仍然出现另一个错误:3
既然你说你想按你现在的方式去做并且不想使用 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;
像下面这样使用
$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
我认为这可能会解决您的问题,试试这个:
$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;
使用 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
}
我花了很长时间才解决这个问题,所以决定寻求帮助。
我这里有一个 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)
但我得到了一个错误,比如无效的参数,给定的字符串。在使用 array_sum()
之前已经进行了初始化 $thours = array($tt1)
但仍然出现另一个错误:3
既然你说你想按你现在的方式去做并且不想使用 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;
像下面这样使用
$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
我认为这可能会解决您的问题,试试这个:
$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;
使用 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
}