Antworten:
Meine Lösung ist:
$maxs = array_keys($array, max($array))
Hinweis: Auf
diese Weise können Sie jeden Schlüssel abrufen, dersich auf einen bestimmten Maximalwert bezieht.
Wenn Sie nur an einem Schlüssel interessiert sind, verwenden Sie einfach $ maxs [0]
array_keys) und Sie erhalten nur einen Schlüssel, der dem Maximalwert entspricht value
<?php
$array = array(11 => 14,
10 => 9,
12 => 7,
13 => 7,
14 => 4,
15 => 6);
echo array_search(max($array), $array);
?>
array_search () Rückgabewerte:
Gibt den Schlüssel für die Nadel zurück, wenn er im Array gefunden wird, andernfalls FALSE.
Wird die Nadel mehrmals im Heuhaufen gefunden, wird der erste passende Schlüssel zurückgegeben. Verwenden Sie stattdessen array_keys () mit dem optionalen Parameter search_value, um die Schlüssel für alle übereinstimmenden Werte zurückzugeben.
Ich weiß, dass es bereits beantwortet wurde, aber hier ist eine Lösung, die ich eleganter finde:
arsort($array);
reset($array);
echo key($array);
und voila!
resetist übrigens nicht nötig.
Andere Antworten haben möglicherweise kürzeren Code, aber dieser sollte der effizienteste sein und ist leicht zu verstehen.
/**
* 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;
}
So etwas sollte den Trick machen
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;
}
<?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/>";
?>
Funktion aus 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)));
Klappt wunderbar
reset($arr); echo key($arr);:)