计算重复项并创建带有分组项目的数组|的PHP

时间:2019-03-29 13:51:58

标签: php mysql arrays

我有以下数组。

array(5) {
  [0]=>
  array(1) {
    ["Cars"]=>
    string(5) "Volvo"
  }
  [1]=>
  array(1) {
    ["Cars"]=>
    string(4) "Fiat"
  }
  [2]=>
  array(1) {
    ["Cars"]=>
    string(5) "Volvo"
  }
  [3]=>
  array(1) {
    ["Cars"]=>
    string(8) "Mercedes"
  }
  [4]=>
  array(1) {
    ["Cars"]=>
    string(5) "Volvo"
  }

我需要计算所有重复项,并创建一个新数组,其中我有每个组的名称和数量。有人可以帮我一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

Cars查找array_column()的所有值,并用array_count_values()计数它们的值。

$array = array(
    ['Cars' => 'Volvo'],
    ['Cars' => 'Fiat'],
    ['Cars' => 'Volvo'],
    ['Cars' => 'Mercedes'],
    ['Cars' => 'Volvo'],
    );

print_r(array_count_values(array_column($array, "Cars")));

输出

Array (
    [Volvo] => 3
    [Fiat] => 1
    [Mercedes] => 1
)