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);

preferences:
72.93 ms | 1404 KiB | 5 Q