奖励计划。 业务在程序中途改变了用户名,因此早期的点归属于一个用户ID(在其自己的字段中),后来的点归属于另一个用户ID(在其自己的字段中)
所以,让我们说我从数据中生成两个数组,如下所示:
$result_array1[] = array(
'users_name'=>$users_first_name . ' ' . $users_surname,
'rank'=>'rank',
'users_type'=>$users_type,
'users_dealer_name'=>$dealership,
'class'=>$class,
'users_sales_guild_id'=>$users_sales_guild_id,
'total'=>$total,
);
和
$result_array2[] = array(
'users_name'=>$users_first_name . ' ' . $users_surname,
'rank'=>'rank',
'users_type'=>$users_type,
'users_dealer_name'=>$dealership,
'class'=>$class,
'users_sales_guild_new_id'=>$users_sales_guild_new_id,
'total2'=>$total2,
);
我设置的唯一键是users_sales_guild_id
和users_sales_guild_new_id
,以及total
和total2
。
公共密钥是users_name
。
total
和total2
是需要汇总的分值。
如何合并数组以使最终的单个数组看起来像:
$result_array3[] = array(
'users_name'=>$users_first_name . ' ' . $users_surname,
'rank'=>'rank',
'users_type'=>$users_type,
'users_dealer_name'=>$dealership,
'class'=>$class,
'users_sales_guild_id'=>$users_sales_guild_id,
'users_sales_guild_new_id'=>$users_sales_guild_new_id,
'total3'=>$total3,
);
...其中,键total3
是键total
和total2
的合并值。
答案 0 :(得分:0)
您可以按如下方式重建阵列:
$arr1 = array();
foreach($result_array1 as $row)
{
$arr1[$row['users_name']] = $row;
}
$arr2 = array();
$arr3 = array();
foreach($result_array2 as $row)
{
$arr2[$row['users_name']] = $row; // this one only if you need it somewhere else
$row['total3'] = $arr1[$row['users_name']['total'] + $row['total2'];
$arr3[] = array_merge($arr1[$row['users_name']], $row);
}
Ps:确保users_name非常独特!大数据集中有很多名称相同。