Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从数组中获取3个最小值,PHP_Php_Arrays_Sorting - Fatal编程技术网

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

从数组中获取3个最小值,PHP,php,arrays,sorting,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

所以我知道
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个第一个值

我应该指定:丢失钥匙是否可以这样做

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


喜欢Brad的答案,但使用
ksort
保留关联数组中的键:

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

不管怎么说,这样做又不会丢失钥匙?很可能会将其标记为应答数组。\u slice非常有用,我现在可能可以得到我需要的…是的,只需将最后一个参数设置为
true
,以保留密钥。Gold!谢谢只要它允许,我就会接受……它就在文档中,不是吗……
asort()
维护密钥关联,不是吗?我以为
ksort()
是按键排序的,这不是这里需要的。他想要按价值排序。