<?php
$orders = [
[
'orderID' => 1,
'Name' => 'Sam',
'orderList' => [
['SKU' => 'A001', 'Qty' => 2],
['SKU' => 'A003', 'Qty' => 4]
]
],
[
'orderID' => 2,
'Name' => 'Sam',
'orderList' => [
['SKU' => 'A001', 'Qty' => 1],
['SKU' => 'A002', 'Qty' => 1]
]
],
[
'orderID' => 3,
'Name' => 'Sam',
'orderList' => [
['SKU' => 'A001', 'Qty' => 2],
['SKU' => 'A004', 'Qty' => 2]
]
],
[
'orderID' => 4,
'Name' => 'Sam',
'orderList' => [
['SKU' => 'A003', 'Qty' => 3],
['SKU' => 'A002', 'Qty' => 1]
]
],
[
'orderID' => 5,
'Name' => 'Sam',
'orderList' => [
['SKU' => 'A002', 'Qty' => 1],
['SKU' => 'A003', 'Qty' => 1]
]
]
];
$skuTotals = [];
foreach ($orders as $order) {
foreach ($order['orderList'] as $item) {
$skuTotals[$item['SKU']] += $item['Qty'];
} else {
$skuTotals[$item['SKU']] = $item['Qty'];
}
}
}
echo "<table>";
echo "<tr><th>item</th><th>Qty</th></tr>";
foreach ($skuTotals as $sku => $qty) {
echo "<tr><td>$sku</td><td>$qty</td></tr>";
}
echo "</table>";
PD9waHAKCiRvcmRlcnMgPSBbCiAgICBbCiAgICAgICAgJ29yZGVySUQnID0+IDEsCiAgICAgICAgJ05hbWUnID0+ICdTYW0nLAogICAgICAgICdvcmRlckxpc3QnID0+IFsKICAgICAgICAgICAgWydTS1UnID0+ICdBMDAxJywgJ1F0eScgPT4gMl0sCiAgICAgICAgICAgIFsnU0tVJyA9PiAnQTAwMycsICdRdHknID0+IDRdCiAgICAgICAgXQogICAgXSwKICAgIFsKICAgICAgICAnb3JkZXJJRCcgPT4gMiwKICAgICAgICAnTmFtZScgPT4gJ1NhbScsCiAgICAgICAgJ29yZGVyTGlzdCcgPT4gWwogICAgICAgICAgICBbJ1NLVScgPT4gJ0EwMDEnLCAnUXR5JyA9PiAxXSwKICAgICAgICAgICAgWydTS1UnID0+ICdBMDAyJywgJ1F0eScgPT4gMV0KICAgICAgICBdCiAgICBdLAogICAgWwogICAgICAgICdvcmRlcklEJyA9PiAzLAogICAgICAgICdOYW1lJyA9PiAnU2FtJywKICAgICAgICAnb3JkZXJMaXN0JyA9PiBbCiAgICAgICAgICAgIFsnU0tVJyA9PiAnQTAwMScsICdRdHknID0+IDJdLAogICAgICAgICAgICBbJ1NLVScgPT4gJ0EwMDQnLCAnUXR5JyA9PiAyXQogICAgICAgIF0KICAgIF0sCiAgICBbCiAgICAgICAgJ29yZGVySUQnID0+IDQsCiAgICAgICAgJ05hbWUnID0+ICdTYW0nLAogICAgICAgICdvcmRlckxpc3QnID0+IFsKICAgICAgICAgICAgWydTS1UnID0+ICdBMDAzJywgJ1F0eScgPT4gM10sCiAgICAgICAgICAgIFsnU0tVJyA9PiAnQTAwMicsICdRdHknID0+IDFdCiAgICAgICAgXQogICAgXSwKICAgIFsKICAgICAgICAnb3JkZXJJRCcgPT4gNSwKICAgICAgICAnTmFtZScgPT4gJ1NhbScsCiAgICAgICAgJ29yZGVyTGlzdCcgPT4gWwogICAgICAgICAgICBbJ1NLVScgPT4gJ0EwMDInLCAnUXR5JyA9PiAxXSwKICAgICAgICAgICAgWydTS1UnID0+ICdBMDAzJywgJ1F0eScgPT4gMV0KICAgICAgICBdCiAgICBdCl07Cgokc2t1VG90YWxzID0gW107Cgpmb3JlYWNoICgkb3JkZXJzIGFzICRvcmRlcikgewogICAgZm9yZWFjaCAoJG9yZGVyWydvcmRlckxpc3QnXSBhcyAkaXRlbSkgewogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCRpdGVtWydTS1UnXSwgJHNrdVRvdGFscykpIHsKICAgICAgICAgICAgJHNrdVRvdGFsc1skaXRlbVsnU0tVJ11dICs9ICRpdGVtWydRdHknXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkc2t1VG90YWxzWyRpdGVtWydTS1UnXV0gPSAkaXRlbVsnUXR5J107CiAgICAgICAgfQogICAgfQp9CgplY2hvICI8dGFibGU+IjsKZWNobyAiPHRyPjx0aD5pdGVtPC90aD48dGg+UXR5PC90aD48L3RyPiI7Cgpmb3JlYWNoICgkc2t1VG90YWxzIGFzICRza3UgPT4gJHF0eSkgewogICAgZWNobyAiPHRyPjx0ZD4kc2t1PC90ZD48dGQ+JHF0eTwvdGQ+PC90cj4iOwp9CgplY2hvICI8L3RhYmxlPiI7