2014-02-05 44 views
1

我有了這個數組:PHP array_count_values多維數組

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) 
} 

輸出我真的盡力了,但不能做到這一點。

請你幫幫我。

感謝

回答

1

如果你的陣列總是會只有兩個維度,您可以使用此:

$finalArray = array(); 

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

這將在所有子陣計算每個多少OCCURENCES

+0

作品,非常感謝 – user3169083

+0

蕩,通過一點點打我。 :) – Biotox

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 
)