У меня есть следующий массив:Как отсортировать массив в порядке возрастания от ключа в PHP?
$arr = array('XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Теперь, используя функцию, я генерировать следующий массив на основе предыдущего. При выполнении print_r($new_arr)
и вторя его в pre
тегов, это выход:
Array
(
[4] => l
[3] => m
[2] => s
[5] => xl
[1] => xs
)
Однако я пытаюсь добиться этого:
Array
(
[1] => xs
[2] => s
[3] => m
[4] => l
[5] => xl
)
Теперь, я сделал некоторые поиск по SO и нашел о функции ksort
. Дальнейшее чтение в Документах PHP показывает, что это тот, который будет использоваться, но когда я использую ksort
следующим образом и эхо-вывод, я получаю только значение 1
, вместо массива значений, как я ожидал получить в предыдущем пункт выше:
$sorted_arr = ksort($new_arr);
на вторя $sorted_arr
в pre
тегов, это выход (это просто номер один):
1
Я не совсем уверен, что здесь не так. Заранее спасибо.
'ksort' не возвращает отсортированный массив, он работает над ссылкой массива. Вы найдете массив, в котором вы проходили, должны быть отсортированы. –
ksort сортирует массив и возвращает true/false. Вам не нужно ничего назначать. http://php.net/manual/en/function.ksort.php – aynber