计算简单数组中的元素并按最高顺序排序

时间:2014-06-13 01:34:25

标签: php arrays sorting

我有一个类似下面例子的数组(来自var_dump($tagged);

array (size=1)
0 => 
array (size=7)
  0 => string '#raining' (length=8)
  1 => string '#raining' (length=8)
  2 => string '#driving' (length=8)
  3 => string '#hungrySoon' (length=11)
  4 => string '#strangeworld' (length=13)
  5 => string '#fruitweekFunky' (length=15)
  6 => string '#kevins_rainbow_disco' (length=21)
  7 => string '#raining' (length=8)
  8 => string '#fruitweekFunky' (length=15)

我只是在显示数组后如下(从最常见的第一次):

  #raining
  #fruitweekFunky
  #driving ...etc

2 个答案:

答案 0 :(得分:2)

事实上,$tagged是一个数组数组。所以你需要采取它的第一个元素。

尝试:

$result = array_count_values(array_values($tagged[0]));

var_dump($result);

答案 1 :(得分:2)

要完全达到你所要求的(最高出现次序的降序排列到最低)一步一步

计算出现次数:

$occurences = array_count_values($tagged[0]);

对数组进行排序(按值,因为出现次数是当前数组,标记是 - arsort() maintains the original keys):

arsort($occurences);

获取输出键的数组(因为标签当前是键):

var_dump(array_keys($occurences));