如何获取php数组中具有最高值的键

如何获取php数组中具有最高值的键,php,Php,我有这个阵列 Array ( [1168] => 46 [6973] => 27 [4585] => 24 [1224] => 23 [2010] => 20 [7514] => 19 [1167] => 17 [8349] => 7 [2476] => 7 [5313] => 7 [1208] => 2 ) 我需要获得前一个数组中具有最高值的三个键(作为值): Array ( [0] => 1168 [1] =>

我有这个阵列

Array (
[1168] => 46
[6973] => 27
[4585] => 24
[1224] => 23
[2010] => 20
[7514] => 19
[1167] => 17
[8349] => 7
[2476] => 7
[5313] => 7
[1208] => 2
)
我需要获得前一个数组中具有最高值的三个键(作为值):

Array (
[0] => 1168
[1] => 6973
[2] => 4585
)

数组是否总是按降序排序?如果没有,您需要先
arsort($arr)
it:

$highest_keys = array_keys(array_slice($arr, 0, 3));
编辑:

$a = array('foo' => 3, 'bar' => 2, 'fuz' => 1, 'baz' => 0);
$k = array_keys(array_slice($a, 0, 3));
print_r($k);

不可能迭代没有循环的数组。想一想,是这样吗?如果是,请使用标签。这不会阻止人们提供答案,相反,他们会尝试给你更深刻的答案。请看并关闭,但不完全:。还可以看看minitech,我认为a可以分别在Java或Ruby中使用Hashmaps或Hash来实现这一点。我只是想知道这在PHP中是否可行。这不是有史以来最好的问题,但我不认为它值得-7票,因为它过于简单(是的,我对“游戏”也很失望),而是+1来反作用。不是键被排序,而是值。嗯,我的数组已经排序了。除了那种($k)之外,其余的都很好用。谢谢大家!@费利克斯克林:我错过了世界上最高的数值。我想这是他想要的最高的钥匙。我相应地更新了代码=)谢谢,我已经编辑了问题名称,不过有点晚了