private static function getCumulativeFlow($fromDate, $toDate, $folSeqArray, $folChannelDataArray, $folChannelsNameArray) { $dateSlices = DateUtils::getDateSlicesForCumulativeFlow($fromDate, $toDate); $dateFormat = "d-m-Y H:i:s"; $dataFinal = array(); foreach ($dateSlices as $dateSlice) { $dateSliceData = array(); foreach ($folSeqArray as $folSeq) { $dataArray = $folChannelDataArray[$folSeq]; $dateSliceLong = strtotime($dateSlice); $totDataBetweenSlices; $countDataBetweenSlices; foreach ($dataArray as $dataDateSlice => $data) { $dt = date($dateFormat, $dataDateSlice); if ($dateSliceLong > $dataDateSlice) { $dataValue = $data['channelValue'][0]; if ($dataValue != "n.o") { $totDataBetweenSlices += $dataValue; $countDataBetweenSlices++; } } } //$dateSliceDataArray = self::getNextStackData($dataArray,$dateSliceLong); //$channelNamesArr = $folChannelsNamesArray[$folSeq]; //if($dateSliceDataArray != null){ //foreach($dateSliceDataArray['channelValue'] as $key => $eachdata){ //$eachDataPU = ConvertorUtils::getPrescribedValue($channelNamesArr[$key],$eachdata); array_push($dateSliceData, round($totDataBetweenSlices / $countDataBetweenSlices, 2)); //} //} } $dateSliceDataClean = array_filter($dateSliceData, function ($value) { return $value != ""; }); if (count($dateSliceDataClean) > 0) { $dat = new DateTime($dateSlice); $datStr = $dat->format($dateFormat); $dataFinal[$datStr] = $dateSliceData; } } //dateFinal is date as key and array of channel values return $dataFinal; }