从数组中获取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()
是按键排序的,这不是这里需要的。他想要按价值排序。