<?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.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- 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,
),
)
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
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:
180.96 ms | 403 KiB | 182 Q