Как рассортировать элементы массива по частоте?
Нужно рассортировать элементы массива по частоте их появления в массиве.
Источник: Stack Overflow на русском
Нужно рассортировать элементы массива по частоте их появления в массиве.
Можно использовать следующий код:
$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
)