Попробуйте это:
// Your array
$array = array(
0 => array(
"AllotmentId" => "6b594c22-73f1-0a2a-298c-2d3feba2905d",
"RoomId" => "9a21e427-16fd-7a9e-bc16-537dc55093bb" ),
1=> array(
"AllotmentId"=> "99730f9a-2242-24bd-0908-b9035a75d328",
"RoomId" => "9a21e427-16fd-7a9e-bc16-537dc55093bb" ),
2=> array(
"AllotmentId"=> "fft54c22-73f1-0a2a-2558c-2d3fgged",
"RoomId"=> "663ghjytf-16fd-7a9e-bc16-537dc55r5g0" )
);
1 / Я создаю временный массив
$temp_array = array();
2 / Затем я добавляю все значение roomId в этот временный массив
foreach ($array as $key => $data) {
$temp_array[] = $data['RoomId'];
}
3 / Теперь я подсчитываю номер каждого roomId
$temp_result = array_count_values($temp_array);
Здесь вывод:
array (size=2)
'9a21e427-16fd-7a9e-bc16-537dc55093bb' => int 2
'663ghjytf-16fd-7a9e-bc16-537dc55r5g0' => int 1
4 / Теперь я создам свой массив результатов
$result = array();
5 / Я добавляю новый массив с roomId и количеством выделений
foreach ($temp_result as $roomId => $NumberOfAllotments) {
$result[] = array(
'RoomId' => $roomId,
'NumberOfAllotments' => $NumberOfAllotments
);
}
Вот вывод:
array (size=2)
0 =>
array (size=2)
'RoomId' => string '9a21e427-16fd-7a9e-bc16-537dc55093bb' (length=36)
'NumberOfAllotments' => int 2
1 =>
array (size=2)
'RoomId' => string '663ghjytf-16fd-7a9e-bc16-537dc55r5g0' (length=36)
'NumberOfAllotments' => int 1
Это то, что вы ищете?
Я думаю, вы можете найти другой способ, используя некоторую функцию массива php, но этот метод работает (если я понимаю, что вы хотели!)