3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = Array ( 0 => Array ( 0 => Array ( "id" => 521, "full_name" => "Nilesh chauhan", "monthly_rental" => 15000, "arc" => 180000, "month" => 1 ) ), 1 => Array ( 0 => Array ( "id" => 1549, "full_name" => "Ritesh shah", "monthly_rental" => 14166.666666667, "arc" => 170000, "month" => 2, ), 1 => Array ( "id" => 589, "full_name" => "Gajanan satpute", "monthly_rental" => 14166.666666667, "arc" => 170000, "month" => 2, ), 2 => Array ( "id" => 521, "full_name" => "Nilesh chauhan", "monthly_rental" => 13333.333333333, "arc" => 160000, "month" => 2, ), 3 => Array ( "id" => 1549, "full_name" => "Ritesh shah", "monthly_rental" => 11250, "arc" => 135000, "month" => 2, ), 4 => Array ( "id" => 521, "full_name" => "Nilesh chauhan", "monthly_rental" => 7500, "arc" => 90000, "month" => 2, ), 5 => Array ( "id" => 1549, "full_name" => "Ritesh shah", "monthly_rental" => 7000, "arc" => 84000, "month" => 2, ), ), 2 => Array ( 0 => Array ( "id" => 1549, "full_name" => "Ritesh shah", "monthly_rental" => 35833.333333333, "arc" => 430000, "month" => 3, ), 1 => Array ( "id" => 1549, "full_name" => "Ritesh shah", "monthly_rental" => 14166.666666667, "arc" => 170000, "month" => 3, ), 2 => Array ( "id" => 521, "full_name" => "Nilesh chauhan", "monthly_rental" => 13333.333333333, "arc" => 160000, "month" => 3, ), 3 => Array ( "id" => 521, "full_name" => "Nilesh chauhan", "monthly_rental" => 8750, "arc" => 105000, "month" => 3, ), 4 => Array ( "id" => 589, "full_name" => "Gajanan satpute", "monthly_rental" => 7500, "arc" => 90000, "month" => 3, ), 5 => Array ( 'id' => 1549, "full_name" => "Ritesh shah", "monthly_rental" => 6493.3333333333, "arc" => 77920, "month" => 3, ) ) ); function getCustomMonoRecords2($data){ $res = []; foreach($data as $m=>$ar){ $res[$m] = []; foreach($ar as $ind=>$rec){ if(!isset($res[$m][$rec['id']])){ $res[$m][$rec['id']] = $rec; } else { $res[$m][$rec['id']]['monthly_rental'] += $rec['monthly_rental']; $res[$m][$rec['id']]['arc'] += $rec['arc']; } } $res[$m] = array_values($res[$m]); } return $res; } $res = getCustomMonoRecords2($data); print_r($res);

preferences:
26.75 ms | 405 KiB | 5 Q