- array_sum: documentation ( source)
- array_column: documentation ( source)
- microtime: documentation ( source)
<?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);
$count = count($items);
$weights = array_sum(array_column($items, 'weight'));
$qty = array_sum(array_column($items, 'qty'));
Echo ($qty * $weights)/$count ."\n";
Echo (microtime(1)-$start)*100;