Количество слов в тексте?

Возможный дубликат:
php: сортировка и подсчет экземпляров слов в заданной строке

Я ищу, чтобы написать php-функцию, которая берет строку в качестве входных данных, разбивает ее на слова и затем возвращает массив слов, отсортированных по частоте появления каждого слова.

Каков наиболее алгоритмически эффективный способ выполнения этого?

Лучше всего:

  • str_word_count – возвращает информацию о словах, используемых в строке
  • array_count_values – подсчитывает все значения массива

пример

 $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, потому что вопрос является дубликатом по меньшей мере двух других вопросов, содержащих один и тот же ответ