/** * @param array $earned * @param array $spent * @param Carbon $start * @param Carbon $end * * @return array */ protected function singleYearInOutSummarized(array $earned, array $spent, Carbon $start, Carbon $end) { $income = '0'; $expense = '0'; $count = 0; while ($start < $end) { $date = $start->format('Y-m'); $currentIncome = isset($earned[$date]) ? $earned[$date] : 0; $currentExpense = isset($spent[$date]) ? $spent[$date] * -1 : 0; $income = bcadd($income, $currentIncome); $expense = bcadd($expense, $currentExpense); $count++; $start->addMonth(); } $data = $this->generator->yearInOutSummarized($income, $expense, $count); return $data; }