php关于长度不一致,字段也不一致,但有唯一的关联字段的两个数组的合并问题

PHP数组合并技巧
本文介绍两种在PHP中以数组二为基准,将两个数组进行合并的方法。第一种方法使用foreach循环遍历数组并检查键的存在,第二种方法通过双重foreach循环实现更复杂的合并逻辑。文章详细展示了如何处理数据和用户名数组,确保即使在没有分数的情况下也能正确合并。

以数组二为基准,合并两个数组,方式有两种:

第一种:

$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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值