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