从数组中获取3个最低值,PHP

时间:2012-04-10 14:36:09

标签: php arrays sorting

所以我知道min()可以从数组中获得最低值,但是我需要数组中最低的3个值。

假设我的数组名为$myArray

我在我的数组上使用asort($myArray),然后print_r($myArray)输出:

Array (
    [137] => 4.90416668118
    [135] => 7.1203544474
    [18] => 7.2476262434
    [81] => 8.37903400152
    [33] => 9.1074567001
    [4] => 9.90788482793
    [138] => 10.2493339987
    [5] => 11.6024401676
    [63]...and so on until
    [124] => 8727.73285117
    [153] => 8727.73285117
    [117] => 8727.73285117
)

如何才能获得3个第一个值或X个第一个值...

我应该指定:丢失钥匙是否可以做到这一点?

2 个答案:

答案 0 :(得分:16)

asort($yourarray, SORT_NUMERIC);
print_r(array_slice($yourarray, 0, 3, true));

http://www.php.net/manual/en/function.asort.php

http://www.php.net/manual/en/function.array-slice.php

答案 1 :(得分:2)

与Brad的回答一样,但使用ksort来保留关联数组中的键:

ksort( $arr );
print_r( array_slice( $arr, 0, 3, true ) );