Php 将数组计数值的结果排序到新数组中

Php 将数组计数值的结果排序到新数组中,php,arrays,sorting,count,duplicates,Php,Arrays,Sorting,Count,Duplicates,我想将结果排序到一个新数组,但不使用$key 因此,最不寻常的数字将排在第一位(或者重复最多的数字将排在第一位) 你喜欢这样吗 Array ( [0] => 4 [1] => 3 [2] => 2 [3] => 1 [4] => 9 [5] => 8 [6] => 5 [7] => 6 [8] => 7 ) 你说没有$key是什么意思?4,3,2,1,5是新数组

我想将结果排序到一个新数组,但不使用$key 因此,最不寻常的数字将排在第一位(或者重复最多的数字将排在第一位)


你喜欢这样吗

   Array
(
    [0] => 4
    [1] => 3
    [2] => 2
    [3] => 1
    [4] => 9
    [5] => 8
    [6] => 5
    [7] => 6
    [8] => 7
)

你说没有$key是什么意思?4,3,2,1,5是新数组的键吗。。。新数组的结果是:$newarray=array(4,3,2,1,5);谢谢$a=数组(1,1,2,2,3,3,3,4,4,4,4,5);foreach(array_keys(array_count_values($a))作为$key=>$value){echo$value.
'}//这不是我期望得到的0 1 2 3 4您希望新数组不打印出来-这是可行的,但我想知道是否有一个更短的方法:)这样更好吗?也许可以在同一行中进行排序。。不确定。@user330364,My+1这是它所能得到的最短方法!//替换到该行//$a=数组(1,1,2,2,3,3,3,4,4,4,4,5,6,7,8,9);//我没有得到7,8的值,9@user3301364您可以在Nambi提供的演示链接中尝试输入。@user330364谢谢您的建议,我已经编辑了我的答案
$newarray = array_keys(array_count_values($a));
$a = array (1,1,2,2,2,3,3,3,3,4,4,4,4,4,5);

$totals = array_count_values($a);

arsort( $totals );

echo "<pre>";
print_r($totals);
Array
(
    [4] => 5
    [3] => 4
    [2] => 3
    [1] => 2
    [5] => 1
)
<?php
$a = array (1,1,2,2,2,3,3,3,3,4,4,4,4,4,5,6,7,8,9);
$n=array_count_values($a);
arsort($n);
print_r(array_keys($n));
   Array
(
    [0] => 4
    [1] => 3
    [2] => 2
    [3] => 1
    [4] => 9
    [5] => 8
    [6] => 5
    [7] => 6
    [8] => 7
)