Как суммировать время в php?

#php

#php

Вопрос:

PHP: Как суммировать результат оператора foreach?

Ниже приведен мой рабочий код. Как вы увидите, я пытаюсь подсчитать дни в каждом месяце, а затем суммировать их.

 //  A function to calculate days in a given month using just the date
function daysInMonths($date)
{
    $month = date("m", strtotime($date));
    $year =  date("Y", strtotime($date)); 
    $num = cal_days_in_month(CAL_GREGORIAN, $month, $year); 
    return $num;
}       

// A function that places the date of an unknown number of months into an array:
function getNextMonths($date, $numberOfMonths)
{
    $timestamp_now = strtotime($date);
    $months[] = date('Y-m-d', $timestamp_now);

    for($i = 1;$i <= $numberOfMonths; $i  )
        {
            $months[] = date('Y-m-d', (strtotime($months[0].'  '.$i.' month')));
        }

// counts the days in each month:
    $j=0;
    foreach ($months as $days)
    {
        echo "$j:".daysInMonths($days)."<br>";
          $j;            
    }
    print_r($months);
}

getNextMonths('2011-11-1', '4');
  

Текущий вывод:

 Array ( 
    [0] => 2011-11-01 
    [1] => 2011-12-01 
    [2] => 2012-01-01 
    [3] => 2012-02-01 
    [4] => 2012-03-01 
)
  

После подсчета:
0:30
1:31
2:31
3:29
4:31

Все правильно, у меня просто возникли проблемы с суммированием массива после подсчета дней месяца.

Комментарии:

1. Ваша calDaysInMonth() функция может быть заменена простой date('t', $date) .

Ответ №1:

 $tot = 0;
foreach ($months as $days) {
    $tot  = daysInMonths(days);
}
echo $tot;
  

Комментарии:

1. Вау. Это было просто. Спасибо.

Ответ №2:

array_sum() — http://php.net/manual/en/function .array-sum.php

 $t = array(
    31,
    28,
    31
);

echo array_sum($t); // 90
  

Ответ №3:

Добавьте счетчик, который вы используете в for while и т. Д.!!

Комментарии:

1. Возможно, вам следует привести пример