当前位置:Gxlcms > PHP教程 > 数组相同键值合并问题

数组相同键值合并问题

时间:2021-07-01 10:21:17 帮助过:6人阅读

下面格式的数组,需要合并相同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);

人气教程排行