简体   繁体   English

PHP array_count_values多维数组

[英]PHP array_count_values multidimensional array

i've got this array: 我有这个数组:

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

i want an output like 我想要像这样的输出

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

I really tried my best but can't achieve this. 我确实尽了最大的努力,但无法做到这一点。

May you please help me. 请你帮我一下。

Thanks 谢谢

if your array is always going to have only two dimensions, you might use this: 如果数组总是只有两个维度,则可以使用以下方法:

$finalArray = array();

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

this will count how many occurences of each value in all subarrays 这将计算所有子数组中每个出现多少次

Try building a new array that keeps count like this: 尝试构建一个保持计数的新数组,如下所示:

$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>';

The output comes out like: 输出结果如下:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM