3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = [ ['rank' => '579', 'id' => '1', 'foo' => 'a'], ['rank' => '251', 'id' => '2', 'foo' => 'b'], ]; $b = [ ['size' => 'S', 'status' => 'A', 'id' => '1', 'foo' => 'c'], ['size' => 'L', 'status' => 'A', 'id' => '2', 'foo' => 'd'], ]; $result = []; foreach (array_merge($a, $b) as $row) { $result[$row['id']] = $row + ($result[$row['id']] ?? []); } var_export(array_values($result));
Output for 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 ( 'size' => 'S', 'status' => 'A', 'id' => '1', 'foo' => 'c', 'rank' => '579', ), 1 => array ( 'size' => 'L', 'status' => 'A', 'id' => '2', 'foo' => 'd', 'rank' => '251', ), )

preferences:
117.5 ms | 403 KiB | 89 Q