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

Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Представим момент, что нам необходимо подсчитать количество совпадений слов в массиве.
В данной статье опубликована функция, которая выполняет данное действие.

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


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

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

function countWords($arrayWords, $minWordLenght = 3) {
    $tmp_arr = [];
    foreach ($arrayWords as $val) {
        if (strlen($val) >= $minWordLenght) {
            $val = mb_strtolower($val);
            if (array_key_exists($val, $tmpArr)) {
                $tmpArr[$val]++;
            } else {
                $tmpArr[$val] = 1;
            }
        }
    }
    arsort($tmpArr);
    return $tmpArr;
}


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

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

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


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


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

Новость отредактировал: Fixlix - 17-12-2017, 19:47

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.