如何在PHP中正确排序数组

如何在PHP中正确排序数组,php,arrays,sorting,Php,Arrays,Sorting,我有这个阵列: $arr = array('Stone', 'Gem', 'Star', ..., 'Star', 'Rock', 'Salt', ..., 'Metal', 'Cotton', 'Gem',...); $array = array_count_values($arr); 所以输出是这样的: Array ( [Stone] => 234 [Gem] => 231 [Star] => 123 [Rock] => 232 )

我有这个阵列:

$arr = array('Stone', 'Gem', 'Star', ..., 'Star', 'Rock', 'Salt', ..., 'Metal', 'Cotton', 'Gem',...);
$array = array_count_values($arr);
所以输出是这样的:

Array
(
    [Stone] => 234
    [Gem] => 231
    [Star] => 123
    [Rock] => 232
)
0 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 110 : 11 ...
现在我试着按字母顺序排序

[Gem] => ...
[Star] => ...
[Stone] => ...
[Rock] => ...
我试过这个:

sort($arr);
foreach($arr as $key => $value){
    echo $key.' : '.$value;
}
但是输出不是我所期望的,它是这样的:

Array
(
    [Stone] => 234
    [Gem] => 231
    [Star] => 123
    [Rock] => 232
)
0 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 110 : 11 ...

你知道如何正确排序吗?

你是按键排序,而不是按值排序,所以你应该使用函数。

你是按键排序,而不是按值排序,所以你应该使用函数。

你试过
ksort()

你可以把文件拿过来。

你试过
ksort()

你可以把文件拿过来。

可能的副本