Вычислить общее время из массива в php - PullRequest
0 голосов
/ 08 октября 2018

вот мой вывод массива выглядит следующим образом

    Array ( [0] => 02:50:19 )  
    Array ( [0] => 00:00:00 )  
    Array ( [0] => 00:01:06 )  
    Array ( [0] => 00:55:06 )  
    Array ( [0] => 01:29:40 )  
    Array ( [0] => 00:00:00 )  
    Array ( [0] => 07:01:32 )  
    Array ( [0] => 00:00:00 )

Теперь как мне рассчитать общее время из этого массива .. ??

  $x = null;
  $sum = strtotime('00:00:00');
   foreach($total as $t){
    $date = new DateTime($t);
     if($x == ''){
       $diff = $date->diff($date2);
       echo "difference " . $interval->h . " hour, " . $interval->i." minutes, ".$interval->s." second";
       $sum1=strtotime($diff->h.':'.$diff->i.':'.$diff->s)-$sum;
       $sum2 = $sum2+$sum1;
       echo "<br />";
      }
      $date2 = $date;

    $x = 1;
    }
    $sum3=$sum+$sum2;

    echo date("H:i:s",$sum3);

Я пробовал этот код из переполнения стекаответ здесь - ссылка Рассчитать общее количество часов из массива - php
, но я не получил никакого результата.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Вы можете рассчитать общее количество секунд следующим образом:

$total = 0;
foreach ($array as $time) {

    $temp = explode(':', $time);
    $total += intval($temp[2]); // Add the seconds
    $total += intval($temp[1]) * 60; // Add the minutes
    $total += intval($temp[0]) * 60 * 60; // Add the hours
}

И затем вы можете отобразить общее количество следующим образом:

echo gmdate("H:i:s", $total);
0 голосов
/ 08 октября 2018

Попробуйте этот код, добавьте только массив timimgs, затем добавьте в сегодняшние тайминги

<?php
$total = array('01:00:00','02:20:00','04:00','05:10');
$sum = strtotime('00:00:00');
$sum2=0;  
foreach ($total as $v){

   $sum1=strtotime($v)-$sum;
   $sum2 = $sum2+$sum1;
}

$sum3=$sum+$sum2;

echo date("H:i:s",$sum3);

DEMO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...