Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/09/2004, 15:05
lalo_5_2000
 
Fecha de Ingreso: septiembre-2004
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Bueno yo tenia otra respuesta pero me ganaron de todas formas:

Supongamos que tienes un array con los numeros y estan ordenados de menor a mayor usas esto:
Código PHP:
function masCercano($numero$arrayDeNumeros) {
    for(
$i=0;$i<count($arrayDeNumeros);$i++) {
        if(
$numero $arrayDeNumeros[0]) {
            
            return(
$arrayDeNumeros[0]);
        } elseif(
$arrayDeNumeros[$i] <= $numero && $arrayDeNumeros[$i+1] >=$numero) {
            
$mitad = ($arrayDeNumeros[$i]+$arrayDeNumeros[$i+1])/2;
            if(
$numero $mitad) {
                
                return(
$arrayDeNumeros[$i+1]);
            } else {
                
                return(
$arrayDeNumeros[$i]);
            }
        } elseif(
$numero $arrayDeNumeros[count($arrayDeNumeros)-1]) {
            return(
$arrayDeNumeros[count($arrayDeNumeros)-1]);
        }
    }
}
$arrayNum = array(100,200,300,459,1025,30254);//numeros que tendra el array
$variable 256;//numero que se va a comparar
echo "Número más cercano a $variable :".masCercano($variable$arrayNum);