PHP二维数组的合并

根据字段seller_id合并数组
数组$result如下

Array
(
    [0] => Array
        (
            [seller_id] => 17140
            [bp_counts] => 1
        )

    [1] => Array
        (
            [seller_id] => 17140
            [dr_counts] => 9
        )
    [3] => Array
        (
            [seller_id] => 17140
            [dc_counts] => 10
        )
)

希望得到的数组为

Array
(
    [0] => Array
        (
            [seller_id] => 17140
            [bp_counts] => 1
            [dr_counts] => 9
            [dc_counts] => 10
        )

)

求大神帮忙解决,谢谢。。。

阅读 2.3k
3 个回答
function field_merge($data, $field = 'seller_id') {
    $result = [];
    foreach ($data as $item) {
        if (!isset($result[$item[$field]])) {
            $result[$item[$field]] = [];
        }
        $result[$item[$field]] = array_merge($result[$item[$field]] ?: [], $item);
    }
    return array_values($result);
}

`
function field_merge($data){

foreach ($data as $v) {
    foreach ($v as $m => $n) {
        if(!isset($result[$m])){
            $result[$m] = $n;
        }
    }
}
$return[] = $result;
return $return;

}
`

$res = [];
foreach ($arr as $key => $value){

$res += $value;

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题