- array_map: documentation ( source)
- array_column: documentation ( source)
- var_export: documentation ( source)
<?php
$array1 = [
['ID' => 1],
['ID' => 2],
['ID' => 3],
['ID' => 4],
['ID' => 5],
];
$array2 = [
['ID' => 2, 'NUM' => 200],
['ID' => 4, 'NUM' => 400],
];
$lookup = array_column($array2, null, 'ID');
var_export(
array_map(
fn($row) => $row + ($lookup[$row['ID']] ?? ['NUM' => 0]),
$array1
)
);