我在排序一个看起来像这样的简单数组时遇到了一些困难:
array(4) {
[32]=>
string(1) "1"
[34]=>
string(1) "2"
[35]=>
string(1) "1"
[33]=>
string(1) "0"
}
我只是想通过索引对它进行排序,所以它看起来像这样:
array(4) {
[32]=>
string(1) "1"
[33]=>
string(1) "0"
[34]=>
string(1) "2"
[35]=>
string(1) "1"
}
我尝试使用sort($votes);
但这似乎删除了索引,之后我的数组看起来像这样:
array(4) {
[0]=>
string(1) "0"
[1]=>
string(1) "1"
[2]=>
string(1) "1"
[3]=>
string(1) "2"
}
那么排序这个数组的最佳方法是什么,以便索引仍然相同,但排序?
答案 0 :(得分:13)
您想使用ksort()
,它按键对数组进行排序。
ksort
按键对数组进行排序,保持数据关联的关键。这是 主要用于关联数组。
答案 1 :(得分:1)
有关PHP中数组排序函数的简要概述,请参阅PHP手册中的Sorting Arrays。
答案 2 :(得分:0)
使用ksort($votes);
输出将是
array(4) {
[32]=>
string(1) "1"
[33]=>
string(1) "0"
[34]=>
string(1) "2"
[35]=>
string(1) "1"
}
有关详情,请查看this
答案 3 :(得分:0)
https://www.php.net/manual/en/function.asort.php
这看起来像是您要搜索的
这将对数组进行排序并保留现有索引
array(4) {
[33]=>
string(1) "0"
[32]=>
string(1) "1"
[35]=>
string(1) "1"
[34]=>
string(1) "2"
}