如何首先使用vales对数组进行排序,然后对键进行排序?

时间:2013-01-25 15:43:01

标签: php sorting

正如标题所说。例如:

原始

{18=>13, 0=>13, 27=>13, 9=>13, 19=>13, 12=>12, 21=>12, 31=>12, 4=>12, 22=>12}

我希望它变成这样:

{0=>13, 9=>13, 18=>13, 19=>13, 27=>13, 4=>12, 12=>12, 21=>12, 22=>12, 31=>12}

有人可以帮忙吗? 感谢。

3 个答案:

答案 0 :(得分:0)

http://php.net/manual/en/array.sorting.php

$array = //Your array value

asort($array);
ksort($array);

答案 1 :(得分:0)

试一试

$array = array(array_values($array),array_keys($array));
array_multisort($array[0], SORT_DESC, $array[1], SORT_ASC);
$sorted_array = array_combine($array[1],$array[0]);

答案 2 :(得分:-2)

看看ksort

http://php.net/manual/en/function.ksort.php

例如......

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
  echo "$key = $val\n";
}
?>

<强>输出

a =橙色

b =香蕉

c = apple

d =柠檬