3v4l.org

run code in 500+ PHP versions simultaneously
<?php $arr1 = [ [ 'email' => 'aa@gmail.com', 'name' => 'John Doe', ], [ 'email' => 'bb@gmail.com', 'name' => 'Johnny Sins', ], [ 'email' => 'cc@gmail.com', 'name' => 'Jose Alvarado', ], ]; $arr2 = [ [ 'email' => 'cc@gmail.com', 'country' => 'Japan', ], [ 'email' => 'cc@gmail.com', 'country' => 'China', ], [ 'email' => 'bb@gmail.com', 'country' => 'Korea', ], ]; $final = []; foreach($arr1 as $key=>$ar){ $data = array_count_values(array_column($arr2,'email')); if(!isset($data[$ar['email']])){ $final[] = $ar; } if(isset($data[$ar['email']]) && $data[$ar['email']] < 2){ $ar['country'] = $arr2[$key]['country']; $final[] = $ar; } } print_r($final);
Output for 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.7
Array ( [0] => Array ( [email] => aa@gmail.com [name] => John Doe ) [1] => Array ( [email] => bb@gmail.com [name] => Johnny Sins [country] => China ) )

preferences:
86.47 ms | 1157 KiB | 4 Q