按出现次数排序PHP数组

Jam*_*mus 0 php arrays sorting

我有一个自动生成的PHP数组,看起来像:

[1] => item
[2] => bar
[3] => plusgallery
[4] => size
[5] => dynamic
[6] => size
[7] => dynamic
[8] => size
[9] => size
Run Code Online (Sandbox Code Playgroud)

(它实际上包含大约3000个项目,这只是一个块)

我在其上使用了array_count_values(),它生成了一个数组,如:

[item] => 1
[bar] => 1
[plusgallery] => 1
[size] => 4
[dynamic] => 2
Run Code Online (Sandbox Code Playgroud)

我怎么能根据键的值从最高到最低排序到另一个数组?我希望它看起来像:

[1] => size
[2] => dynamic
[3] => item
[4] => bar
[5] => plusgallery
Run Code Online (Sandbox Code Playgroud)

idm*_*ean 5

使用arsort与组合array_keys:

$countedArray = array_count_values($array);
arsort( $countedArray )
array_keys( $countedArray );
Run Code Online (Sandbox Code Playgroud)

现场演示

结果是:

array(5) {
  [0]=>
  string(4) "size"
  [1]=>
  string(7) "dynamic"
  [2]=>
  string(11) "plusgallery"
  [3]=>
  string(3) "bar"
  [4]=>
  string(4) "item"
}
Run Code Online (Sandbox Code Playgroud)

(最后三个项目是交换的,但我认为这无关紧要)