数组 相同键值合并问题
程序员文章站
2023-12-31 08:39:16
...
下面格式的数组,需要合并相同clientId的roleId。
合并后的
$data = '[ { "ClientId": 0, "RoleId": 2 }, { "ClientId": 1, "RoleId": 1 }, { "ClientId": 1, "RoleId": 4 } ]';$data = json_decode($data);
合并后的
$data = '[ { "ClientId": 0, "RoleId": [2] }, { "ClientId": 1, "RoleId": [1,4] } ]';$data = json_decode($data);
回复讨论(解决方案)
$data = json_decode($data, true);$arr = array();foreach($data as $itm) { $arr[$itm['ClientId']]['ClientId'] = $itm['ClientId']; $arr[$itm['ClientId']]['RoleId'][] = $itm['RoleId'];}$arr = array_values($arr);