Посчитать повторы элементов массива с помощью php

Введение
В этой статье я хочу показать как можно быстро и просто посчитать повторы в массиве средствами php. Этот пример простой, но подобная проблема возникает довольно часто, поэтому я и решил написать статью. Что нам нужно? Необходимо посчитать все повторяющиеся элементы в массиве и узнать сколько раз они повторяются. А также чтоб было еще интересней можно отсортировать результат и вывести на странице.

Как посчитать повторы элементов массива. Код
Задача понятна, поэтому что либо еще описывать нет смысла, я просто приведу код с подробными комментариями:
// массив, в котором будем искать повторы
$arrayElements = array(
    'element_1', 'element_2', 'element_3', 'element_1', 'element_1', 'element_3', 'element_2', 'element_4'
);
// массив для хранения, данных о повторах
$arrayTmp = array();
// перебираем все элементы массива 
foreach($arrayElements as $oneCompany){
    // проверяем, был ли повтор элемента
    if(in_array($oneCompany, array_keys($arrayTmp))){
        // если такой элемент уже встречался,
        // то записываем об этом в массив
        // увеличиваем счетчик повтора
        $arrayTmp = array_merge($arrayTmp, array(
            $oneCompany => $arrayTmp[$oneCompany] + 1
        ));
    }else{
        // если элемент еще не встречался,
        // то запишем запишем о нем в новую ячейку вспомогательного массива
        $arrayTmp = array_merge($arrayTmp, array(
            $oneCompany => 1
        ));
    }
}
// сортируем массив по возрастанию
ksort($arrayTmp);
// выводим результат
foreach($arrayTmp as $key=>$val){
    echo "$key - $val <br/>";
}
Теги:
массив
Добавлено: 10 Мая 2018 15:07:51 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...