如何获得此数组的总和,我试图在没有运气的情况下搜索此数据。
array(1) { [0]=> string(4) "7.14" } 0<br>
array(1) { [0]=> string(3) "5.0" } 0<br>
array(1) { [0]=> string(5) "15.26" } 0<br>
array(1) { [0]=> string(5) "15.32" } 0<br>
array(1) { [0]=> string(5) "15.33" } 0<br>
array(1) { [0]=> string(5) "15.34" } 0<br>
array(1) { [0]=> string(3) "1.0" } 0<br>
array(1) { [0]=> string(3) "0.0" } 0<br>
array(1) { [0]=> string(3) "0.2" } 0<br>
重要的是要知道数组的值是time
格式。因此当2个值类似于15.34 + 15.33 = 30.67 = 30.60 + 0.07
时,总和将为31.07
。
代码背后:
$query = "SELECT * FROM timer WHERE id = '10'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$inn = date("H:i", strtotime($row['inn']));
$ut = date("H:i", strtotime($row['ut']));
$from = new DateTime($inn);
$to = new DateTime($ut);
$timer = $from->diff($to)->format('%h.%i');
$a = var_dump(explode(" ", $timer));
$test = array($a);
echo array_sum($test) . "<br>";
};
我是一个真正的菜鸟,所以请帮助:)
答案 0 :(得分:0)
要获得总间隔,您可以将每个间隔转换为秒并按Dagon建议添加它们,或者使用变量来跟踪开始时间和结束时间,然后找出差异:
$query = "SELECT * FROM timer WHERE id = '10'";
$result = mysql_query($query);
$start = new Datetime();
$end = clone $start;
while ($row = mysql_fetch_array($result)) {
$inn = date("H:i", strtotime($row['inn']));
$ut = date("H:i", strtotime($row['ut']));
$from = new DateTime($inn);
$to = new DateTime($ut);
$interval = $from->diff($to);
$end->add($interval);
$timer = $interval->format('%h.%i');
$a = var_dump(explode(" ", $timer));
$test = array($a);
echo array_sum($test) . "<br>";
};
$sum_interval = $start->diff($end);