如何对array_count_values()的结果进行排序?

sta*_*ack 0 php sorting function

是我的代码:

<?php
$array = array("world", 1, "hello", 1, "hello", "hello", "how");
$new_array = array_count_values($array);
print_r($new_array);
?>

/* Output:
Array
(
    [world] => 1
    [1] => 2
    [hello] => 3
    [how] => 1
)
Run Code Online (Sandbox Code Playgroud)

现在我想根据新数组的值对结果进行排序.所以这是预期的输出:

/* Expected Output:
Array
(
    [hello] => 3
    [1] => 2
    [world] => 1
    [how] => 1
)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

注意:相同值的顺序无关紧要.

Rap*_*tor 5

您可以使用arsort()按其值对数组进行排序:

<?php
$array = array("world", 1, "hello", 1, "hello", "hello", "how");
$new_array = array_count_values($array);
arsort($new_array, SORT_NUMERIC);
print_r($new_array);
?>
Run Code Online (Sandbox Code Playgroud)

这将输出:

Array
(
    [hello] => 3
    [1] => 2
    [world] => 1
    [how] => 1
)
Run Code Online (Sandbox Code Playgroud)