Ahh el problema es que las letras aparecen antes en el código ASCII y por eso ordena el array con las n adelante. Lo probé así y me funcionó:
Código PHP:
<?php
$numeros = array(5, 10, 16, 22, 30);
$dia = date('d');
foreach( $numeros as $key => $value ) {
if ($dia < $value) {
$diferencia = $value - $dia;
$resultados[$key] = $diferencia;
}
}
asort($resultados);
echo "El número mayor a ".date("d")." más cercano es ".$numeros[key($resultados)]." con una diferencia de ".$numeros[key($resultados)]-date("d")." días";
?>
Suerte
Fede