<?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));
- Output for 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array (
0 =>
array (
'id' => 1,
'size' => 'm',
'color' => 'red',
'stock' => 2,
),
1 =>
array (
'id' => 1,
'size' => 'm',
'color' => 'yellow',
'stock' => 1,
),
2 =>
array (
'id' => 2,
'size' => 's',
'color' => 'orange',
'stock' => 1,
),
3 =>
array (
'id' => 5,
'size' => 'xl',
'color' => 'red',
'stock' => 1,
),
4 =>
array (
'id' => 1,
'size' => 's',
'color' => 'orange',
'stock' => 1,
),
)
preferences:
151.85 ms | 409 KiB | 5 Q