El ordenamiento se realiza correctamente (lo acabo de
comprobar), por lo que lo único que faltaría sería obtener a los dos primeros valores. Con tantas funciones que ofrece PHP para manipular arrays, las posibilidades son muchas. Una de las que se me ocurre es la siguiente:
Código PHP:
Ver original$datos = ["964"=>"Hola", "498"=>"Adios", "362"=>"Buenos dias", "516"=>"Buenas noches", "370"=>"Buenas tardes"];
$aux = $datos;
echo "Se han dicho $clavePrimero veces $valorPrimero y $claveSegundo veces las $valorSegundo.";
El proceso es simple. Luego de ordenar los datos del array, creo una copia del mismo y con ayuda de las funciones
array_shift()
y
array_search()
, tomo tanto a los dos primeros valores de la copia del array ordenado como a sus índices.
Finalmente, imprimo los datos, siendo el resultado de este ejemplo lo siguiente:
Código HTML:
Ver originalSe han dicho 964 veces Hola y 516 veces las Buenas noches.
DEMO
Saludos