我正在使用max()函数来查找数组中的最大值。我需要一种方法来返回该值的键。我尝试过使用array_keys()函数,但我能做到的就是返回数组中最大的键。必须有一种方法可以做到这一点,但PHP手册没有提到任何东西。
以下是我正在使用的代码示例:
$arrCompare = array('CompareOne' => $intOne,
'CompareTwo' => $intTwo,
'CompareThree' => $intThree,
'CompareFour' => $intfour);
$returnThis = max($arrCompare);
我可以成功获得数组的最高值,我只是无法获得相关的密钥。有什么想法吗?
编辑:只是为了澄清,使用它不起作用:
$max_key = max( array_keys( $array ) );
这比较了键并且对数组中的值没有任何作用。
答案 0 :(得分:25)
array_search功能可以帮到你。
$returnThis = array_search(max($arrCompare),$arrCompare);
答案 1 :(得分:7)
如果您需要源数组中所有键的最大值,您可以执行以下操作:
$keys = array_keys($array, max($array));
答案 2 :(得分:4)
不是单行,但它将执行所需的任务。
function max_key($array)
{
$max = max($array);
foreach ($array as $key => $val)
{
if ($val == $max) return $key;
}
}
来自http://cherryblossomweb.de/2010/09/26/getting-the-key-of-minimum-or-maximum-value-in-an-array-php/