<?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
)
);
- Output for 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,
'NUM' => 0,
),
1 =>
array (
'ID' => 2,
'NUM' => 200,
),
2 =>
array (
'ID' => 3,
'NUM' => 0,
),
3 =>
array (
'ID' => 4,
'NUM' => 400,
),
4 =>
array (
'ID' => 5,
'NUM' => 0,
),
)
preferences:
66.05 ms | 407 KiB | 5 Q