2011-01-12 55 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,因为问题是包含了相同的答案