Count word frequency in a text? [duplicate]
Possible Duplicate:
php: sort and count instances of words in a given string
I am looking to write a开发者_高级运维 php function which takes a string as input, splits it into words and then returns an array of words sorted by the frequency of occurence of each word.
What's the most algorithmically efficient way of accomplishing this ?
Your best bet are these:
str_word_count
— Return information about words used in a stringarray_count_values
— Counts all the values of an array
Example
$words = 'A string with certain words occuring more often than other words.';
print_r( array_count_values(str_word_count($words, 1)) );
Output
Array
(
[A] => 1
[string] => 1
[with] => 1
[certain] => 1
[words] => 2
[occuring] => 1
[more] => 1
[often] => 1
[than] => 1
[other] => 1
)
marking CW because question is a duplicate of at least two other questions containing the same answer
精彩评论