сортировка массива 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"
}

более подробная информация этой