Для Python 3 поведение max()
в случае связей больше не просто деталь реализации, подробно описанный в других ответах. Теперь функция гарантирована, так как в Python 3 docs явно указано:
Если несколько элементов являются максимальными, функция возвращает первый столбец. Это согласуется с другими инструментами сохранения стабильности сортировки, такими как сортировка (iterable, key = keyfunc, reverse = True) [0] и heapq.nlargest (1, iterable, key = keyfunc).
blockquote>
Я думаю, что лучше всего будет использовать array_values . Вы можете вернуть значение с нулевым индексом из результата этой функции, чтобы получить «яблоко».
$arr = array( 9 => 'apple', 7 => 'orange', 13 => 'plum' );
echo reset($arr); // echoes 'apple'
Если вы не хотите терять текущую позицию указателя, просто создайте псевдоним для массива.
Неуклюжий способ:
$foo = array( 4 => 'apple', 7 => 'orange', 13 => 'plum' );
function get_first ($foo) {
foreach ($foo as $k=>$v){
return $v;
}
}
print get_first($foo);