<?php
$input = [['color'=>'#000000','size'=>'L','count'=>2],
['color'=>'#000000','size'=>'XL','count'=>1],
['color'=>'#ffffff','size'=>'L','count'=>2],
['color'=>'#ffffff','size'=>'XL','count'=>1],
['color'=>'#ff0000','size'=>'L','count'=>1]];
$colors = [];
foreach ($input as $product) {
extract($product);
$colors[$color][$size] = $count;
}
print_r($colors);
$output = [];
foreach ($colors as $color => $sizes) {
$data = [];
foreach ($sizes as $size => $count) {
$data[] = ['value' => $size,
'count' => $count];
}
$output[] = ['color' => $color,
'size' => $data];
}
echo json_encode($output, JSON_PRETTY_PRINT);
preferences:
24.19 ms | 406 KiB | 5 Q