Php 合并数组并附加唯一值

Php 合并数组并附加唯一值,php,arrays,merge,Php,Arrays,Merge,我有一个类似这样的json数组 [ { "u_id": "16", "name": "Hacker", "number": "9898405566", "GroupName": "Hackers" }, { "u_id": "15", "name": "steve jobs", "number": "9898005566", "GroupName

我有一个类似这样的json数组

[
    {
        "u_id": "16",
        "name": "Hacker",
        "number": "9898405566",
        "GroupName": "Hackers"
    },
    {
        "u_id": "15",
        "name": "steve jobs",
        "number": "9898005566",
        "GroupName": "Apple"
    },
    {
        "u_id": "16",
        "name": "Hacker",
        "number": "9898405566",
        "GroupName": "Apple"
    }
]
我想合并具有相同数据的字段,并附加具有唯一数据的唯一字段,如下所示

[
    {
        "u_id": "16",
        "name": "Hacker",
        "number": "9898405566",
        "GroupName": "Hackers,Apple"
    },
    {
        "u_id": "15",
        "name": "steve jobs",
        "number": "9898005566",
        "GroupName": "Apple"
    },
]
我已经通过了一些方法,比如
array\u merge
array\u unique
但是没有达到我想要的

感谢您的帮助。

使用array_unique()PHP函数,您可以做到这一点

<?php
$new_array = array_unique(json_decode($old_array,true));

您可以简单地使用
foreach
如下

$result = [];
foreach (json_decode($json,true) as $key => $value) {
    $hash = $value['u_id'];
    if(isset($result[$hash])){
        $result[$hash]['GroupName'] .= ",{$value['GroupName']}";
    }else{
        $result[$hash] = $value;
    }
}

echo json_encode(array_values($result));

这是一个jsonyes@aldrin27数组,它会有什么不同吗?展示一些您已经尝试过的代码怎么样?我将首先对该json进行json_解码,然后使用php数组函数合并数据。@Jaimin当然json数组和php数组之间有区别!前者是javascript。伟人。。。非常好的解决方案..从php.net文档中:
“请注意,array_unique()不适用于多维数组。”
确实如此,但使用foreach循环可以完成它…foreach($old_array AS$array){array_push($newarray,array_unique($array));}