PHP. Подсчет количества совпадений слов в массиве

Представим момент, что нам необходимо подсчитать количество совпадений слов в массиве.
В данной статье опубликована функция, которая выполняет данное действие.

PHP. Подсчет количества совпадений слов в массиве


Разбор функции:

Первый параметр функции, является массив слов, который необходимо подсчитать.
Второй параметр отвечает за минимальное количество букв в словах, по которым необходимо вести подсчет (по умолчанию минимальное количество букв - 3).

function count_words($array_words, $min_word_lenght = 3) {
    $tmp_arr = array();
    foreach ($array_words as $val) {
        if (strlen($val)>=$min_word_lenght) {
            $val = mb_strtolower($val);
            if (array_key_exists($val, $tmp_arr)) {
                $tmp_arr[$val]++;
            } else {
                $tmp_arr[$val] = 1;
            }
        }
    }
    arsort($tmp_arr);
    return $tmp_arr;
}


Функция возвращает массив сортированный в обратном порядке.
Ключами данного массива являются сами слова.
В значение массива будет записано количество совпадений слова в массиве.

Пример работы функции:

Будем считать, что нам необходимо работать с данным массивом слов:
$array = ["Привет", "Как", "Твои", "Дела", "Твои", "Дела", "Твои", "Дела", "Твои", "Дела", "Привет"];


Выполняем проверку:
var_dump(count_words($array));


На экране будет отображен следующий результат:
array(4) { ["твои"]=> int(4) ["дела"]=> int(4) ["привет"]=> int(2) ["как"]=> int(1) } 


Код функции на gitHub
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика
  • Счетчик PR-CY.Rank
  • Рейтинг@Mail.ru