按DESC顺序排序数组

时间:2010-01-11 22:27:52

标签: php arrays sorting

如何按数组键

对此数组进行排序
array(
4 => 'four',
3 => 'three',
2 => 'two',
1 => 'one',
)
像这样

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

4 个答案:

答案 0 :(得分:30)

如果要按DESC顺序对键进行排序,请使用:

krsort($arr);

如果要按DESC顺序对值进行排序并维护索引关联,请使用:

arsort($arr);

如果要按DESC自然顺序对值进行排序并维护索引关联,请使用:

natcasesort($arr);
$arr = array_reverse($arr, true);

答案 1 :(得分:22)

如果您只想撤销订单,请使用array_reverse

$reverse = array_reverse($array, true);

第二个参数用于保存键。

答案 2 :(得分:3)

你有一个数组,你想按相反的顺序对它进行排序 - 你可以使用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"
}


作为副节点:如果你想按值排序,你可以使用arsort - 但它似乎不是你想要的,在这里。

答案 3 :(得分:0)

尝试krsort() - 使用数组键反向排序,而rsort将对数组值进行排序。