3v4l.org

run code in 300+ PHP versions simultaneously
<?php $items = []; for ($i = 0; $i < 3000; $i++) { $items[] = [ 'foo' => 1, 'qty' => ($i%7)+1, 'bar' => 2, 'weight' => ($i%2)+1, 'baz' => 3, ]; } $start =microtime(1); $weights =array_unique(array_column($items, 'weight')); $result =[]; Foreach($weights as $weight){ $weightitems = array_filter($items, function ($var) use ($weight) { return ($var['weight'] == $weight); }); $result[] = array_sum(array_column($weightitems, "qty")) * $weight; } Echo array_sum($result) ."\n"; Echo (microtime(1)-$start)*100;

preferences:
29.09 ms | 408 KiB | 5 Q