<?php
$ary1 = array(
array(
'sn' => '123',
'name' => 'whatever',
),
array(
'sn' => '234',
'name' => 'whatever',
),
);
$ary2 = array(
array(
'sn' => '123',
'gender' => 'male',
),
array(
'sn' => '234',
'gender' => 'female',
),
);
$res = [];
foreach (array_merge($ary1, $ary2) as $a) {
$res[$a['sn']] = array_merge($res[$a['sn']] ?? $a, $a);
}
var_dump($res);
preferences:
42.75 ms | 402 KiB | 5 Q