PHP array_count_values多维数组

时间:2014-02-05 18:40:18

标签: php arrays multidimensional-array

我有这个阵列:

fffarray(2) {
  [0]=>
  array(1) {
    ["keyword1"]=>
    string(17) "Software Engineer"
  }
  [3]=>
  array(2) {
    ["keyword1"]=>
    string(10) "Hampelmann"
    ["keyword2"]=>
    string(17) "Software Engineer"
  }
}

我想要输出

fffarray(1) {
  ["Software Engineer"]=>
  int(2)
  ["Hampelmann"]=>
  int(1)
}

我真的尽我所能但却无法做到这一点。

请你帮助我。

由于

2 个答案:

答案 0 :(得分:1)

如果你的数组总是只有两个维度,你可以使用它:

$finalArray = array();

foreach ($fffarray as $array)
 {foreach ($array as $key => $string)
   {$finalArray[$string] = $finalArray[$string] + 1;}}

这将计算所有子阵列中每个的出现次数

答案 1 :(得分:0)

尝试构建一个像这样计算的新数组:

$newArray = array(
  array("Software Engineer"),
  array("Hampelmann", "Software Engineer")
);

$countArray = array();

foreach($newArray as $tempArray){
  foreach($tempArray as $key => $value){
    if(array_key_exists($value, $countArray)){
      $countArray[$value] = $countArray[$value] + 1;
    } else {
      $countArray[$value] = 1;
    }
  }
}

echo '<pre>'.print_r($countArray, true).'</pre>';

输出结果如下:

Array
(
  [Software Engineer] => 2
  [Hampelmann] => 1
)