我有这个阵列:
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)
}
我真的尽我所能但却无法做到这一点。
请你帮助我。
由于
答案 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
)