다음과 같은 배열에서 배열의 가장 높은 값의 인덱스를 얻는 방법은 무엇입니까? 아래 배열의 경우 원하는 결과는 '11'이됩니다.배열에서 가장 큰 값의 인덱스를 반환하십시오.
Array ( [11] => 14 [10] => 9 [12] => 7 [13] => 7 [14] => 4 [15] => 6 )
다음과 같은 배열에서 배열의 가장 높은 값의 인덱스를 얻는 방법은 무엇입니까? 아래 배열의 경우 원하는 결과는 '11'이됩니다.배열에서 가장 큰 값의 인덱스를 반환하십시오.
Array ( [11] => 14 [10] => 9 [12] => 7 [13] => 7 [14] => 4 [15] => 6 )
뭔가 트릭을 할해야
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;
}
첫 번째 항목의 키와 값을 기본 값으로 더 잘 사용하십시오. – Gumbo
$newarr=arsort($arr);
$max_key=array_shift(array_keys($new_arr));
<?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에서 바늘이 두 번 이상 발견되면 첫 번째 일치 키이 반환됩니다. 일치하는 모든 값의 키를 반환하려면 대신 array_keys()를 옵션 search_value 매개 변수와 함께 사용하십시오.
max(array_keys($values['Users']));
기능은 더 높은 키가 얻을 수있는 마법처럼 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)));
작품에서
내 솔루션을 촬영 여기에 내가 더 우아한 해결책을 찾을 수 있습니다 :
arsort($array);
reset($array);
echo key($array);
및 voila!
<?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/>";
?>
나는 이미 대답 것을 알고 있지만, 다음과 같이
'reset'은 필요하지 않습니다. btw. –
다른 답변에는 짧은 코드가 있지만이 코드는 가장 효율적이어야하며 이해하기 쉽습니다.
/**
* 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;
}
오래되었지만 배열이 이미 정렬 된 것으로 나타납니다 (내림차순). 나쁜 예이거나 단지'reset ($ arr);이 필요하다. 에코 키 ($ arr);':) –