php关于长度不一致,字段也不一致,但有唯一的关联字段的两个数组的合并问题
以数组二为基准,合并两个数组,方式有两种:
第一种:
$res = []; foreach($data as $v1) { //先把v1里面的赋值给data $res[$v1['uid']] = $v1['score']; } foreach($usersName as &$v2) { if(!array_key_exists($v2['uid'], $res)) $v2['score'] = 0; //没有分数.0 else $v2['score'] = $res[$v2['uid']]; }
得出结果为: dump($userName)
第二种:
$res = [];
foreach ($usersName as $ku => $vu){ $res[$ku]['score'] = 0; foreach ($data as $ka => $va){ if ($vu['uid'] == $va['uid']){ $res[$ku]['score'] = $va['score']; } } $res[$ku]['uname'] = $vu['username']; }
得出结果为:dump($res);