3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = [ '0' => [ 'id' => 34, 'building_id' => 786, 'tenancy_rate' => 0, 'rent_per_room' => 10000, 'management_fee_per_room' => 0, ], '1' => [ 'id' => 35, 'building_id' => 786, 'tenancy_rate' => 10, 'rent_per_room' => 11810, 'management_fee_per_room' => 5400, 'rent' => 86050, ], '2' => [ 'id' => 36, 'building_id' => 786, 'tenancy_rate' => 20, 'rent_per_room' => 11810, 'management_fee_per_room' => 5400, 'rent' => 86050, ], '3' => [ 'id' => 56, 'building_id' => 798, 'tenancy_rate' => 0, 'rent_per_room' => 10000, 'management_fee_per_room' => 5400, 'rent' => 77000, ], '4' => [ 'id' => 57, 'building_id' => 798, 'tenancy_rate' => 10, 'rent_per_room' => 11810, 'management_fee_per_room' => 5400, 'rent' => 86050, ], '5' => [ 'id' => 58, 'building_id' => 798, 'tenancy_rate' => 20, 'rent_per_room' => 11810, 'management_fee_per_room' => 5400, 'rent' => 86050, ], ]; $result = []; foreach ($arr as $val) { // as I see, rate for some array not there, so setting it to 0 $val['rent'] = ($val['rent'] ?? 0); if (isset($result[$val['tenancy_rate']]['rent'])) { $result[$val['tenancy_rate']]['rent'] += $val['rent']; } else { $result[$val['tenancy_rate']] = [ 'tenancy_rate' => $val['tenancy_rate'], 'rent' => $val['rent']]; } } print_r(array_values($result));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [tenancy_rate] => 0 [rent] => 77000 ) [1] => Array ( [tenancy_rate] => 10 [rent] => 172100 ) [2] => Array ( [tenancy_rate] => 20 [rent] => 172100 ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
30.56 ms | 406 KiB | 5 Q