<?php
$ids = [1, 1, 1, 2, 5, 1];
$sizes = ["m", "m", "m", "s", "xl", "s"];
$colors = ["red", "red", "yellow", "orange", "red", "orange"];
foreach ($ids as $i => $id) {
$size = $sizes[$i];
$color = $colors[$i];
$tempKey = "{$id}:{$size}:{$color}";
if (!isset($result[$tempKey])) {
$result[$tempKey] = [
'id' => $id,
'size' => $size,
'color' => $color,
'stock' => 1
];
} else {
++$result[$tempKey]['stock'];
}
}
var_export(array_values($result));
preferences:
51.64 ms | 402 KiB | 5 Q