Wyszukanie największej wartości, czy to w postaci łańcucha string, czy też jako wartości liczbowej:
function array_getMax($array){ $conteo=array_count_values($array); if( count($conteo)==1 ){//returns full array when all values are the same. return $array; } arsort($array); //$antValue=null; $maxValue=null; $keyValue=null; foreach($array as $key=>$value){ if($maxValue==null){ $maxValue=$value; $keyValue=$key; break; } } $resultSearch=array_search_all($maxValue, $array); return array_fill_keys($resultSearch, $maxValue); } //using array_search_all by helenadeus at gmail dot com function array_search_all($needle, $haystack) { foreach ($haystack as $k=>$v) { if($haystack[$k]==$needle){ $array[] = $k; } } return ($array); } //example $arreglo = array('e1'=>99, 'e2'=>'1000', 'e3'=>1, 'e4'=>1, 'e5'=>100); var_dump(array_getMax($arreglo));
array(1) { ["e2"]=> string(4) "1000" }
//example $arreglo=array('e1'=>99,'e2'=>'99','e3'=>1,'e4'=>1,'e5'=>100.23); var_dump(array_getMax($arreglo));
array(1) { ["e5"]=> float(100.23) }