Мой JSON
выглядит примерно так:
[
{"pet_type":"Dog","weight":"26","description":"Akita"},
{"pet_type":"Dog","weight":"6","description":"Pug"},
{"pet_type":"Cat","weight":"4","description":"Manx"},
{"pet_type":"Dog","weight":"12","description":"Beagle"},
{"pet_type":"Cat","weight":"5","description":"Siberian"}
]
Как я могу преобразовать его в строку, которая будет выглядеть как 3 Dogs, 2 Cats
?
Я попытался заполнить array
с помощью pet_type
, а затем использовать array_count_values
для подсчета количества одинаковых записей, а позже я перебираю этот массив в foreach
и в строке конкатата, например:
foreach ($count_animals as $type => $number) {
$animals .= $number.' '.str_plural($type, $number).', ';
}
Это работает, но мой вопрос, могу ли я сделать это с меньшим количеством кода, прямо из JSON
, без использования еще одного цикла foreach
?