您好,欢迎访问一九零五行业门户网

在键值对中,如何根据value大小得到key的排序?

如:
$test={"a":1,"b":3,"c":2,"d":1,"e":1};

得到:
$result={"b":3,"c":2,"a":1,"d":1,"e":1}; 试过rsort($test),不行。 很像sql语句中的orderby,能否有办法?

回复内容:如:
$test={"a":1,"b":3,"c":2,"d":1,"e":1};

得到:
$result={"b":3,"c":2,"a":1,"d":1,"e":1}; 试过rsort($test),不行。 很像sql语句中的orderby,能否有办法?

看看文档
>>> arsort($test) >>> $test => [ "b" => 3, "c" => 2, "e" => 1, "d" => 1, "a" => 1, ]
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $a = array(3, 2, 5, 6, 1); usort($a, "cmp"); foreach ($a as $key => $value) { echo "$key: $value\n"; }
可以看下这个函数 array_multisort
其它类似信息

推荐信息