2011-01-12 88 views
5

可能重複:
php: sort and count instances of words in a given string計算文本中的詞頻?

我尋找寫一個PHP函數,它接受一個字符串作爲輸入,將其分解成單詞,然後返回通過頻率來分類的字的一個陣列每個詞的出現。

完成此操作的算法最有效的方法是什麼?

+0

我希望這將取決於文本的大小至少兩個其他問題重複。無論如何,這裏有很多這樣的解析器,編程的最有效方式是重用,而不是自己編寫。只是谷歌'字頻計數器PHP' – dnagirl 2011-01-12 15:24:02

回答

22

最好的辦法是這些:

$words = 'A string with certain words occuring more often than other words.'; 
print_r(array_count_values(str_word_count($words, 1))); 

輸出

Array 
(
    [A] => 1 
    [string] => 1 
    [with] => 1 
    [certain] => 1 
    [words] => 2 
    [occuring] => 1 
    [more] => 1 
    [often] => 1 
    [than] => 1 
    [other] => 1 
) 

標記CW,因爲問題是包含了相同的答案