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

Введение

Посчитать повторы элементов массива с помощью 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/>";
}
Рассказать друзьям:


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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*