3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a1 = [ ['id' => 5, 'cnt' => 14], ['id' => 8, 'cnt' => 2], ]; $a2 = [ ['id' => 8, 'binding' => 'hardcover'], ['id' => 5, 'binding' => 'softcover'], ]; $result = []; foreach (array_merge($a1, $a2) as $row) { $result[$row['id']] = ($result[$row['id']] ?? []) + $row; } var_export(array_values($result));
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
array ( 0 => array ( 'id' => 5, 'cnt' => 14, 'binding' => 'softcover', ), 1 => array ( 'id' => 8, 'cnt' => 2, 'binding' => 'hardcover', ), )

preferences:
124.06 ms | 402 KiB | 121 Q