3v4l.org

run code in 500+ PHP versions simultaneously
<?php $arr = [ [ 472 => [ 'EL' => 52.9, 'MT' => 57.375, 'MO' => 56.6, 'SC' => 26, 'ET' => 50.775 ] ], [ 505 => [ 'EL' => 53.425, 'MT' => 25, 'MO' => 62.8, 'SC' => 23, 'ET' => 25 ] ] ]; $total = array_reduce( $arr, function($arr, $key) { $id = key($key); $consumed = $key[$id]; $sc = array_keys($consumed); $arr[$id] = [ "totalc" => array_sum($consumed), "condition" => checkMin($consumed, 26, ["SC" => 23]) ]; return $arr; }, [] ); function checkMin($arr, $min, $exception) { foreach($arr as $k => $v) { if ($v < (isset($exception[$k]) ? $exception[$k] : $min)) return false; } return true; } print_r($total);
Output for 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Array ( [472] => Array ( [totalc] => 243.65 [condition] => 1 ) [505] => Array ( [totalc] => 189.225 [condition] => ) )

preferences:
108.66 ms | 1432 KiB | 4 Q