Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected function generateAverage($staff, $type)
- {
- $months = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
- $staff = array_map(function ($row) use ($type) {
- if ($row['row_type'] == $type) {
- return $row;
- }
- }, $staff);
- foreach ($staff as $key => $employee) {
- $months[0] += $employee['amounts'][0];
- $months[1] += $employee['amounts'][1];
- $months[2] += $employee['amounts'][2];
- $months[3] += $employee['amounts'][3];
- $months[4] += $employee['amounts'][4];
- $months[5] += $employee['amounts'][5];
- $months[6] += $employee['amounts'][6];
- $months[7] += $employee['amounts'][7];
- $months[8] += $employee['amounts'][8];
- $months[9] += $employee['amounts'][9];
- $months[10] += $employee['amounts'][10];
- $months[11] += $employee['amounts'][11];
- }
- $months = array_map(function ($value) use ($staff) {
- return $value / (count($staff) / 2);
- }, $months);
- $months[] = array_sum($months);
- return $months;
- }
- array:6 [
- 0 => array:4 [
- "amounts" => array:13 [
- 0 => "30000.00"
- 1 => "30000.00"
- 2 => "30000.00"
- 3 => "30000.00"
- 4 => "30000.00"
- 5 => "30000.00"
- 6 => "30000.00"
- 7 => "30000.00"
- 8 => "30000.00"
- 9 => "30000.00"
- 10 => "30000.00"
- 11 => "30000.00"
- 12 => 360000.0
- ]
- "image" => "test.jpg"
- "row_name" => "Target"
- "row_type" => "target"
- ]
- ...
- $data['aggregates']['Target average'] = $this->generateAverage(array_values($data['staff']), 'target');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement