<?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']] = (count($res[$a['sn']])) ? array_merge($res[$a['sn']], $a) : $a;
}
var_dump($res);
preferences:
54.15 ms | 402 KiB | 5 Q