如何在PHP中正确排序数组

时间:2015-09-16 04:14:11

标签: 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
)

现在我试图按字母顺序排序,

[Gem] => ...
[Star] => ...
[Stone] => ...
[Rock] => ...

我试过这个:

sort($arr);
foreach($arr as $key => $value){
    echo $key.' : '.$value;
}

但是输出并不是我所期望的那样:

0 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 110 : 11 ...

我有什么想法可以正确排序吗?

2 个答案:

答案 0 :(得分:4)

您是否尝试过ksort()

ksort($arr)

print($arr)

您可以通过here获取文档。

答案 1 :(得分:0)

您按键而不是值进行排序,因此您应该使用ksort()函数。