ProfiPHPProfiPHP
Категория: Полезное в PHP

Максимальное значение повторяющегося элемента массива

Разберемся, как получить значение самого большого числа вхождения элемента в массиве.

Например, мы имеем массив:
$array = array( 'a', 'b', 'c', 'b', 'c', 'c' );
Первое, что необходимо сделать, это подсчитать количество всех значений массива с помощью функции
Array_count_values:
$array = array_count_values( $array );
В результате, у нас получиться следующий массив:
Array
(
[a] => 1
[b] => 2
[c] => 3
)
Следующим действием мы получим максимальное количество вхождений с помощью функции Max:
$maxCount = max( $array );
Если мы используем пользовательскую функцию, тогда возвращаем элемент массива с помощью функции Array_search:
return array_search( $maxCount, $array );
Пример использования:
$array = array( 'a', 'b', 'c', 'b', 'c', 'c' );
function maxValArray( $array ) {
$array = array_count_values( $array );
$maxCount = max( $array );
return array_search( $maxCount, $array );
}
echo maxValArray( $array ); // c
Также мы можем найти значение наименьшего числа вхождений элемента в массиве. Для этого необходимо использовать функцию Min:
$maxCount = min( $array );

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

Имя:
Текст комментария: