PHP对数组的出现进行排序和计数

时间:2018-12-25 03:13:53

标签: php arrays sorting

我的数组开头是

Array
(
    [0] => FRUIT
    [1] => MONKEY
    [2] => MONKEY
    [3] => MONKEY
    [4] => CANNABIS
)

有了array_count_values()我得到了

Array
(
    [FRUIT] => 1
    [MONKEY] => 3
    [CANNABIS] => 1
)

但是实际上我想在这里进行排序:

猴子3 水果1
CANNABIS 1(当Integer相同时,不需要额外排序字母,

我环顾四周,但找不到合适的东西。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

asort是您想要的:) http://php.net/manual/en/function.asort.php

  

asort —对数组进行排序并维护索引关联

基本上按值对关联数组进行排序。

<?php
$words = [
   'FRUIT',
   'MONKEY',
   'MONKEY',
   'MONKEY',
   'CANNABIS',
];

// Count each occurrence
$counts = array_count_values($words);

// Sort the counts in descending order
arsort($counts);

// Display the results
var_dump($counts);

产生:

Array
(
    [MONKEY] => 3
    [FRUIT] => 1
    [CANNABIS] => 1
)