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 getCustomMonoRecords($data){ $res = []; foreach($data as $m=>$ar){ $res[$m] = []; $tmp = []; $i = 0; foreach($ar as $ind=>$rec){ if(!array_key_exists($rec['id'],$tmp)) { $tmp[$rec['id']] = $i; $res[$m][$i] = $rec; $i++; } else { $in = $tmp[$rec['id']]; $res[$m][$in]['monthly_rental'] += $rec['monthly_rental']; $res[$m][$in]['arc'] += $rec['arc']; } } } return $res; } $res = getCustomMonoRecords($data); print_r($res);

preferences:
26.21 ms | 404 KiB | 5 Q