У меня динамически массив, например, такой:
[{"Name":"Sutejo","status":"Overload"},{"Name":"Paiman","status":"Overload"},{"Name":"Agung Hercules","status":"Idle"},{"Name":"Heru","status":"Busy"}]
Как мне поступить, если я хочу, чтобы мой массив стал таким?(посчитайте, если статус имеет то же значение и объедините в массив снова)
Ожидаемый результат:
[{"Overload":"2"},{"Idle":"1"},{"Busy":"1"}]
Пока мой код выглядит так:
public function getData(){
$key_idle = 0;
$key_busy = 0;
$key_overload = 0;
$data = $this->queries_trend->getDataCustomer();
//print_r(json_encode($data));
foreach ($data as $key => $value) {
$val = $value['status'];
if ($val == 'Idle') {
$key_idle = $key_idle + 1;
} elseif ($val == 'Busy') {
$key_busy = $key_busy + 1;
} elseif ($val == 'Overload') {
$key_overload = $key_overload + 1;
}
}
}