Вопрос по arrays, php – PHP - считать частоту значений массива

1

Есть ли способ в php подсчитать, как часто значение существует в большом массиве?

Так что, если у меня есть такой массив:

$array = "1,2,3,4,joe,1,2,3,joe,joe,4,5,1,6,7,8,9,joe";

Есть ли способ вывести новый массив, который говорит мне (и сортирует), который используется наиболее и сколько для каждого?

$result = array(
    [joe] => 4
    [1] => 3
    [2] =>2
    etc...
    )

Я видел php array_count_values, но можно ли это отсортировать по большинству - & gt; наименее? или есть более простой способ?

Спасибо всем!

шаг 1, сделайте его массивом, используя функцию взрыва в PHP. Simon Forsberg

Ваш Ответ

1   ответ
7

Сортируйте их после подсчетаarsort()

$result = array_count_values(explode(',', $array));
arsort($result);

Array
(
    [joe] => 4
    [1] => 3
    [2] => 2
    [4] => 2
    [3] => 2
    [9] => 1
    [8] => 1
    [5] => 1
    [6] => 1
    [7] => 1
)
и для сортировки по убыванию используйте функцию rsort вместо обычной сортировки.
@NullUserException Да, я постоянно смешиваю arsort с krsort.
Спасибо за вашу помощь! мой код был бы намного длиннее. Я ценю его! d-_-b

Похожие вопросы