php怎么把数组里的数字排序?

1.自己组成的数组怎么按每个键值里面的数字排序?
图片描述

阅读 6.1k
5 个回答
可以使用自定义函数排序uasort(),搭配匿名函数挺方便的
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
uasort($array,function($a,$b){
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});

print_r($array);

有相同的数字啊,恐怕不好办

用PHP自带函数arsort()

php7使用<=>

$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
uasort($array,function($a,$b){
    return $a <=> $b;
});

print_r($array);
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题