Foros del Web » Programando para Internet » PHP »

Alternativa a IF anidados

Estas en el tema de Alternativa a IF anidados en el foro de PHP en Foros del Web. A ver si alguien me ofrece una alternativa para lo que quiero hacer. Intentaré explicarlo lo mejor posible: Necesito que el usuario, mediante un formulario, ...
  #1 (permalink)  
Antiguo 17/08/2009, 06:44
Avatar de atoleon  
Fecha de Ingreso: marzo-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 1
Alternativa a IF anidados

A ver si alguien me ofrece una alternativa para lo que quiero hacer. Intentaré explicarlo lo mejor posible:
Necesito que el usuario, mediante un formulario, intruduzca una número. Yo necesito hallar en que tramo se encuentra: (1-100, 101-200, 201-300....). Yo había pensado hacer If Anidados, de manera que fuese algo parecido a:
Código PHP:
if ($n and $n 10then.... 
y así anidando If.
Es evidente que funciona, pero dejaría un tocho enorme de código para algo tan insignificante.
Había pensado en usar switch, pero creo que no se pueden poner intervalos sino únicamente la cantidad exacta.
Tambíen quiero evitar el uso de bases de datos para este apartado.

Bueno, a ver si alguien sabe alguna solución para esto. Gracias de antemano y sauldos para todos
  #2 (permalink)  
Antiguo 17/08/2009, 07:02
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 7 meses
Puntos: 150
Respuesta: Alternativa a IF anidados

Puedes usar el ELSEIF si lo que buscas es comodidad para el programador:

Código PHP:
if ($i == 0) {
    echo 
"i vale 0";
} elseif (
$i == 1) {
    echo 
"i vale 1";
} elseif (
$i == 2) {
    echo 
"i vale 2";

  #3 (permalink)  
Antiguo 17/08/2009, 07:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Alternativa a IF anidados

Podrias hacer un while que vaya aumentando de 100 en 100 y verificar si la cantidad es menor a esa cantidad. Si es así entonces le indicas donde se encuentra. Ejemplo

Código php:
Ver original
  1. <?php
  2. $v=256;
  3. $n=99;
  4. while(true){
  5.     if($v<=$n){
  6.         echo "Tu número esta entre " . ($n-99) . " y " . $n;
  7.         break;
  8.     }
  9.     $n=$n+100;
  10. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 17/08/2009, 08:04
Avatar de atoleon  
Fecha de Ingreso: marzo-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 1
Respuesta: Alternativa a IF anidados

Las dos opciones me gustan porque simplifican bastante el código muchísimas gracias por las aportaciones.
  #5 (permalink)  
Antiguo 18/08/2009, 06:33
Avatar de atoleon  
Fecha de Ingreso: marzo-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 1
Respuesta: Alternativa a IF anidados

Creeis que las dos opciones son óptimas en cuanto a eficiencia y rendimiento?
  #6 (permalink)  
Antiguo 18/08/2009, 14:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Alternativa a IF anidados

Eso va a depender de cuantos numeros vas a verificar. Si vas a verificar pocos usa la de Vun. Ahora si vas a usar muchos, no es bueno que tengas tantos if declarados para eso usa la que te indique.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:31.