我有一个像这样的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_merge
和array_unique
但未能达到我想要的效果,
任何帮助将不胜感激,谢谢..
答案 0 :(得分:3)
您可以像{/ p>一样使用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));
答案 1 :(得分:0)
使用array_unique()PHP函数,你可以做到......
<?php
$new_array = array_unique(json_decode($old_array,true));
它一直对我有用,使用array_unique也会删除没有值的数组键...