Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/08/2012, 01:31
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: Como evaluar varios IF (mas d 20) de manera mas corta, alguna alternativa?

Si entendí correctamente, tienes algo como:

rango - inferior - superior
-------------------------------
1 - 0 - 5
2 - 6 -10
3 - 11 - 15
4 - 16 - 20
5 - 21 - 25
etc...
20 - 90 - 1000

Y necesitas saber en qué rango está el resultado obtenido?

De ser así, yo lo que haría sería crear un arreglo sólo con los limites superiores y recorrerlo para ver donde corresponde:

Código PHP:
Ver original
  1. // Inicializas con los valores que necesites
  2. $rangos = array(5, 10, 15, 20, 25, '/* ********* */ 1000);
  3.  
  4. // Por si no encontramos alguna coincidencia, por default asignamos el rango mayor
  5. $rango = 20;
  6.  
  7. // Recorres los rangos
  8. for($i = 0; $i < count($rangos); $i++) {
  9.    if($resultado < $rangos[$i]) {
  10.         // Lo encontramos, de aquí es!
  11.         $rango = $i;
  12.         // Cancelas el for
  13.         break;
  14.    }
  15. }
  16.  
  17. echo "$resultado pertenece al rango $i";
__________________
- León, Guanajuato
- GV-Foto