【问题标题】:PHP sum foreach loop resultsPHP sum foreach 循环结果
【发布时间】:2015-03-25 22:14:03
【问题描述】:

我有这个foreach 代码,我想总结它返回的值,有人可以帮我吗?

foreach($timel->results() as $timel) {

       $timeDiff = strtotime($timel->end_date) - strtotime($timel->start_date);

       $hours = floor($timeDiff / 3600);
       $remainder = $timeDiff - $hours * 3600;
       $formattedTime = sprintf('%02d', $hours) . gmdate(':i:s', $remainder);
       echo $formattedTime, '<br>'; 
}

这段代码输出:

00:17:20

00:00:06

00:00:02

我想对这些值求和,然后输出 00:17:28。

【问题讨论】:

    标签: php foreach sum


    【解决方案1】:

    你可以使用类似的东西:

    <?php
    
    $totaltime = 0;    
    
    foreach($timel->results() as $timel) {
    
       $timeDiff = strtotime($timel->end_date) - strtotime($timel->start_date);
    
       $totaltime += $timeDiff;
     }
    
    $hours = floor($totaltime / 3600);
    $remainder = $totaltime - $hours * 3600;
    $formattedTime = sprintf('%02d', $hours) . gmdate(':i:s', $remainder);
    
    echo $formattedTime;
    

    【讨论】:

    • 谢谢我的朋友,我使用了你的代码,但它不起作用,但做了一个简单的改变,它起作用了
    • 我不知道为什么到目前为止有一个人拒绝了待处理的编辑。它应该被批准。 OP 进行了适当的更改。
    • 嗯,未决编辑似乎已被拒绝,但我不明白为什么(没有编辑历史链接)。
    • @halfer 是的,很可爱不是吗?如果此答案不能反映对 OP 有效的方法,则应对其进行修改。
    • 里卡多总是可以添加他自己的答案(不过,IMO,如果 D3F 有实质性帮助,这个答案应该被接受)。
    猜你喜欢
    • 2015-09-18
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2015-05-30
    • 2015-04-23
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多