【问题标题】:PHP Reformat content array and Count same valuePHP重新格式化内容数组并计算相同的值
【发布时间】:2019-02-19 13:36:34
【问题描述】:

我有像这样的动态数组:

[{"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;
            }
        }

    }

【问题讨论】:

    标签: php arrays codeigniter arraylist


    【解决方案1】:

    你可以使用array_count_values函数:

    $statuses = array_count_values(array_column($list, 'status'));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-24
      • 2022-01-09
      • 2023-03-26
      • 2017-12-28
      • 1970-01-01
      相关资源
      最近更新 更多