3v4l.org

run code in 500+ PHP versions simultaneously
<?php $first = [ 3 => [0 => ['id' => 1, 'number' => 0, 'time' => 40,],], 4 => [0 => ['id' => 2, 'number' => 0, 'time' => 40,],], 5 => [0 => ['id' => 3, 'number' => 0, 'time' => 40,],], 6 => [0 => ['id' => 1, 'number' => 0, 'time' => 41,],], 7 => [0 => ['id' => 2, 'number' => 0, 'time' => 41,],], 8 => [0 => ['id' => 3, 'number' => 0, 'time' => 41,],], ]; $second = [3 => ['id' => '1', 'number' => '3785', 'time' => '40',], 4 => ['id' => '2', 'number' => '1574', 'time' => '40',], 5 => ['id' => '1', 'number' => '2954', 'time' => '41',], 6 => ['id' => '2', 'number' => '2463', 'time' => '41',], ]; $result = []; $secondMap = array_column($second, null, 'id'); foreach ($first as $key => $value) { foreach ($value as $item) { if (isset($secondMap[$item['id']])) { $result[$key] = $secondMap[$item['id']]; } else { $result[$key] = $value; } } } print_r($result);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.21, 8.5.0 - 8.5.6
Array ( [3] => Array ( [id] => 1 [number] => 2954 [time] => 41 ) [4] => Array ( [id] => 2 [number] => 2463 [time] => 41 ) [5] => Array ( [0] => Array ( [id] => 3 [number] => 0 [time] => 40 ) ) [6] => Array ( [id] => 1 [number] => 2954 [time] => 41 ) [7] => Array ( [id] => 2 [number] => 2463 [time] => 41 ) [8] => Array ( [0] => Array ( [id] => 3 [number] => 0 [time] => 41 ) ) )

preferences:
76.47 ms | 1404 KiB | 4 Q