сортировка массива php по индексу
у меня возникли некоторые трудности с сортировкой простого массива, который выглядит так:
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"
}
Итак, каков был бы лучший способ сортировки этого массива, чтобы индекс оставался тем же, но сортировался?
3 ответов
вы хотите использовать ksort()
, которая сортирует массив по ключам.
ksort
сортирует массив по ключу, сохраняя ключ к корреляции данных. Это полезен в основном для ассоциативных массивов.
краткий обзор функций сортировки массива в PHP см. В разделе Массивы Сортировка в руководстве по PHP.
использовать ksort($votes);
и выход будет
array(4) {
[32]=>
string(1) "1"
[33]=>
string(1) "0"
[34]=>
string(1) "2"
[35]=>
string(1) "1"
}
более подробная информация этой