返回数组中最高值的索引

时间:2009-09-22 17:08:42

标签: php arrays

从类似下面的数组中,如何获得数组中最高值的索引。对于下面的数组,所需的结果将为“11”。

Array (
    [11] => 14
    [10] => 9
    [12] => 7
    [13] => 7
    [14] => 4
    [15] => 6
)

9 个答案:

答案 0 :(得分:186)

我的解决方案是:

$maxs = array_keys($array, max($array))

<强> 注意:
 这样,您就可以检索与给定最大值相关的每个键

如果您只对所有中的一个键感兴趣,只需使用 $ maxs [0]

答案 1 :(得分:30)

<?php

$array = array(11 => 14,
               10 => 9,
               12 => 7,
               13 => 7,
               14 => 4,
               15 => 6);

echo array_search(max($array), $array);

?>

array_search()返回值:

如果在数组中找到针,则返回针的键,否则返回FALSE。

如果在haystack中多次找到needle,则会返回第一个匹配键。要返回所有匹配值的键,请使用带有可选search_value参数的array_keys()。

答案 2 :(得分:7)

我知道它已经回答了,但这是一个我觉得更优雅的解决方案:

arsort($array);
reset($array);
echo key($array);

瞧!

答案 3 :(得分:1)

这样的事情可以解决问题

function array_max_key($array) {
  $max_key = -1;
  $max_val = -1;

  foreach ($array as $key => $value) {
    if ($value > $max_val) {
      $max_key = $key;
      $max_val = $value;
    }
  }

  return $max_key;
}

答案 4 :(得分:1)

我获得更高密钥的解决方案如下:

max(array_keys($values['Users']));

答案 5 :(得分:1)

其他答案可能包含更短的代码,但这个代码应该是最有效且易于理解的。

/**
 * Get key of the max value
 *
 * @var array $array
 * @return mixed
*/
function array_key_max_value($array)
{
    $max = null;
    $result = null;
    foreach ($array as $key => $value) {
        if ($max === null || $value > $max) {
            $result = $key;
            $max = $value;
        }
    }

    return $result;
}

答案 6 :(得分:0)

$newarr=arsort($arr);
$max_key=array_shift(array_keys($new_arr));

答案 7 :(得分:0)

<?php 
$array =  array (
    '11' => 14,
    '10' => 9,
    '12' => 7,
    '13' => 7,
    '14' => 4,
    '15' => 6
);

foreach ($array as $key => $value) {
   if ($value >= $max) 
        $max = max($array);          
}
echo " The array in Maximum Value :".$max."<br/>";
?> 

答案 8 :(得分:-7)

取自http://www.php.net/manual/en/function.max.php

的功能
function max_key($array) {
    foreach ($array as $key => $val) {
        if ($val == max($array)) return $key; 
    }
}

$arr = array (
    '11' => 14,
    '10' => 9,
    '12' => 7,
    '13' => 7,
    '14' => 4,
    '15' => 6
);

die(var_dump(max_key($arr)));

像魅力一样工作