3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = array(10,30,10,10,15); sort($arr); $res = []; $curr_sum = 0; foreach($arr as $each_value){ if($curr_sum + $each_value <= 30) $curr_sum += $each_value; else{ $res[] = $curr_sum; $curr_sum = $each_value; } } $res[] = $curr_sum; print_r($res);

preferences:
26.05 ms | 402 KiB | 5 Q