массив вида в порядке DESC

Как я могу отсортировать этот массив по ключу массива

array(
4 => 'four',
3 => 'three',
2 => 'two',
1 => 'one',
)

как это

array(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
)
10
задан Shoaib Quraishi 16 December 2017 в 10:47
поделиться

4 ответа

Если вы просто хотите поменять заказ, используйте Array_Reverse :

$reverse = array_reverse($array, true);

Вторым параметром для сохранения клавиш.

22
ответ дан 3 December 2019 в 13:19
поделиться

Если вы хотите отсортировать ключи в порядке использования по порядку по порядку:

krsort($arr);

, если вы хотите сортировать значения в порядке по порядку по порядку и поддерживать использование индекса:

arsort($arr);

, если вы хотите сортировать Значения в Desc Natural Order и поддерживают ассоциацию индекса:

natcasesort($arr);
$arr = array_reverse($arr, true);
30
ответ дан 3 December 2019 в 13:19
поделиться

У вас есть массив, вы хотите отсортировать его по ключам, в обратном порядке - вы можете использовать функцию KRSORT :

сортирует массив по ключу в обеспечить регресс Заказ, поддержание ключа к данным корреляции. Это полезно в основном для ассоциативных массивов.


В вашем случае, у вас будет такой код:

$arr = array(
    1 => 'one',
    2 => 'two',
    3 => 'three',
    4 => 'four',
);

krsort($arr);
var_dump($arr);

, который получил бы вам этот вид вывода:

$ /usr/local/php-5.3/bin/php temp.php
array(4) {
  [4]=>
  string(4) "four"
  [3]=>
  string(5) "three"
  [2]=>
  string(3) "two"
  [1]=>
  string(3) "one"
}


в качестве Sidenode: если вы хотели сортировать по значениям, вы могли бы использовать arsort - Но это не так, кажется, вы хотите, здесь.

3
ответ дан 3 December 2019 в 13:19
поделиться

Попробуйте krsort () - что сортируется в обратном порядке с использованием клавиши массива, тогда как RSORT будет отсортировать на значении массива.

0
ответ дан 3 December 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: