从数组中获取三个最高值

Cyc*_*one 4 php arrays sorting

我想从我的数组中获得三个高值,但它也应该通过键正确排序.

我有这个代码:

<?php
$a = array(130, 1805, 1337);
arsort($a);
print_r($a);
?>
Run Code Online (Sandbox Code Playgroud)

以上输出如下:

Array
(
    [1] => 1805
    [2] => 1337
    [0] => 130
)
Run Code Online (Sandbox Code Playgroud)

它的工作正常,但我希望它还可以从最高到最低值对它进行排序.

例:

Array
(
    [2] => 1805
    [1] => 1337
    [0] => 130
)
Run Code Online (Sandbox Code Playgroud)

要明确:我希望按键排序:数组键号2将始终用于最高值,数组键号0将始终用于最低值.

我怎样才能做到这一点?

如果你不明白,请告诉我.

dec*_*eze 7

rsort($array);
$top3 = array_reverse(array_slice($array, 0, 3));
Run Code Online (Sandbox Code Playgroud)

  • 为什么不`$ top3 = array_slice($ array,-3);`? (3认同)
  • 而downvoter的评论会很好. (2认同)