Podés hacer la resta entre el número y el 14 y guardar los resultados en un array siempre que el resultado sea mayor a cero, de lo contrario guardá un caracter, como ser 'z'. Después ordenas el array de menor a mayor. El índice del primer elemento va a ser el índice del número más cercano en el otro array. Me explico mejor...
Tenés dos arrays: numeros y resultados.
Código PHP:
$numeros = array(0=>5,1=>10,2=>16,3=>22,4=>30);
$resultados = array(0=>z, 1=>z, 2=>2, 3=>8, 4=>16);
Ordenás $resultados usando asort:
Código PHP:
$resultados = asort($resultados);
Ahora resultados quedó:
Código PHP:
array(
2=>2,
3=>8,
4=>16,
0=>z,
1=>z
);
y $numeros[key($resultados)] es el elemento que buscas ($numeros[key($resultados)] = $numeros[2] = 16)
No sé si es la forma más eficiente, pero funciona.
Suerte,
Fede