3v4l.org

run code in 300+ PHP versions simultaneously
<?php $existingtArr = [ "A" => [ "color" => 'red', "user" => [ "Daniel" => ["01:18:08", "04:10:12"], "Max" => ["01:04:00"], "Serto" => ["02:00:02"], ] ], "B" => [ "color" => 'blue', "user" => [ "Franz" => ["08:40:52"], "Hugo" => ["07:08:58"], ] ] ]; $newArr = [ "A" => [ "color" => 'red', "user" => [ "Fabian" => ["06:03:00"], // + 1 user "Max" => ["04:10:12"], // + 1 new time "Serto" => ["02:00:02"], ] ], "B" => [ "color" => 'blue', "user" => [ "Franz" => ["08:40:52", "14:05:32", "20:34:15"], // an older one is available, + 2 new times "Hugo" => ["04:10:12"], // + 1 time ] ], "C" => [ // + new whole group "color" => 'green', "user" => [ "Maxi" => ["07:08:58", "04:10:12"], ] ] ]; foreach ($newArr as $letter => $set) { if (!isset($existingtArr[$letter])) { $existingtArr[$letter] = $set; } else { $existingtArr[$letter]['user'] = array_merge_recursive( $existingtArr[$letter]['user'], $set['user'] ); } } var_export($existingtArr);

preferences:
42.46 ms | 402 KiB | 5 Q