Как рассортировать элементы массива по частоте?

Рейтинг: -6Ответов: 1Опубликовано: 08.05.2023

Нужно рассортировать элементы массива по частоте их появления в массиве.

Ответы

▲ 2

Можно использовать следующий код:

$array = array(1, 2, 3, 1, 2, 1, 4, 5);
$frequencies = array_count_values($array);
arsort($frequencies);
$sortedArray = array_keys($frequencies);
print_r($sortedArray);

В этом примере используется функция array_count_values() для подсчета количества появлений каждого элемента в массиве. Затем мы используем функцию arsort() для сортировки массива по убыванию частоты, сохраняя ключи. И, наконец, мы используем функцию array_keys() для извлечения ключей отсортированного массива.

В результате на экран будет выведен рассортированный массив:

Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 3
    [4] => 5
)