<?php
$result['ITEMS'][0] =
[
'ID' => 222,
'SORT' => 300,
'NAME' => 'NAME_1',
'GROUPS' => 21236
];
$result['ITEMS'][1] =
[
'ID' => 333,
'SORT' => 300,
'NAME' => 'NAME_2',
'GROUPS' => 3213
];
$result['ITEMS'][2] =
[
'ID' => 333,
'SORT' => 300,
'NAME' => 'NAME_2',
'GROUPS' => 21236
];
$myFunc = function($acc, $item) {
if (empty($acc[$item['ID']])) { $acc[$item['ID']] = $item;
$acc[$item['ID']]['GROUPS'] = [$item['GROUPS']];
} elseif (!in_array($item['GROUPS'], $acc[$item['ID']]['GROUPS'])) { $acc[$item['ID']]['GROUPS'][] = $item['GROUPS'];
}
return $acc;
};
PD9waHAKCgoKJHJlc3VsdFsnSVRFTVMnXVswXSA9IApbCidJRCcgPT4gMjIyLAonU09SVCcgPT4gMzAwLAonTkFNRScgPT4gJ05BTUVfMScsCidHUk9VUFMnID0+IDIxMjM2Cl07CgokcmVzdWx0WydJVEVNUyddWzFdID0gClsKJ0lEJyA9PiAzMzMsCidTT1JUJyA9PiAzMDAsCidOQU1FJyA9PiAnTkFNRV8yJywKJ0dST1VQUycgPT4gMzIxMwpdOwoKJHJlc3VsdFsnSVRFTVMnXVsyXSA9IApbCidJRCcgPT4gMzMzLAonU09SVCcgPT4gMzAwLAonTkFNRScgPT4gJ05BTUVfMicsCidHUk9VUFMnID0+IDIxMjM2Cl07CgoKJG15RnVuYyA9IGZ1bmN0aW9uKCRhY2MsICRpdGVtKSB7CglpZiAoZW1wdHkoJGFjY1skaXRlbVsnSUQnXV0pKSB7CgkJJGFjY1skaXRlbVsnSUQnXV0gPSAkaXRlbTsKCQkkYWNjWyRpdGVtWydJRCddXVsnR1JPVVBTJ10gPSBbJGl0ZW1bJ0dST1VQUyddXTsKCX0gZWxzZWlmICghaW5fYXJyYXkoJGl0ZW1bJ0dST1VQUyddLCAkYWNjWyRpdGVtWydJRCddXVsnR1JPVVBTJ10pKSB7CgkJJGFjY1skaXRlbVsnSUQnXV1bJ0dST1VQUyddW10gPSAkaXRlbVsnR1JPVVBTJ107Cgl9CgoJcmV0dXJuICRhY2M7Cn07CgokY29tYmluZWQgPSBbJ0lURU1TJyA9PiBhcnJheV92YWx1ZXMoYXJyYXlfcmVkdWNlKCRyZXN1bHRbJ0lURU1TJ10sICRteUZ1bmMsIFtdKSldOwoKdmFyX2V4cG9ydCgkY29tYmluZWQpOw==
array (
'ITEMS' =>
array (
0 =>
array (
'ID' => 222,
'SORT' => 300,
'NAME' => 'NAME_1',
'GROUPS' =>
array (
0 => 21236,
),
),
1 =>
array (
'ID' => 333,
'SORT' => 300,
'NAME' => 'NAME_2',
'GROUPS' =>
array (
0 => 3213,
1 => 21236,
),
),
),
)