elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Como hago esta comparacion con switch en php?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como hago esta comparacion con switch en php?  (Leído 6,191 veces)
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Como hago esta comparacion con switch en php?
« en: 18 Noviembre 2009, 05:38 am »

Necesito hacer la siguiente comparación en php:

Si x esta entre 0 y 99
    muestra esto

si esta entre 100 y 199
    muestra esto

si esta entre 200 y 299
    muestra esto....


... si esta entre 10.000 y 10.099
     muestra esto

Se que con un if seria muy facil xD en teoria, estaba tratando de usar el switch de php pero en la documentacion (http://php.net/manual/en/control-structures.switch.php) no sale algo parecido a lo que necesito :S


En línea

Mr. Crowley


Desconectado Desconectado

Mensajes: 343


Costa Rica


Ver Perfil WWW
Re: Como hago esta comparacion con switch en php?
« Respuesta #1 en: 18 Noviembre 2009, 08:26 am »

Jejeje, en la documentacion SI sale. Pruebe algo como esto:

Código
  1. <?php
  2. $iNumero=24;
  3.  
  4. switch($iNumero){
  5. case ($iNumero>=0 and $iNumero<=99):
  6. echo "Esta entre 0 y 99";
  7. break;
  8.  
  9. case ($iNumero>=100 and $iNumero<=199):
  10. echo "Esta entre 100 y 199";
  11. break;
  12.  
  13. case ($iNumero>=200 and $iNumero<=299):
  14. echo "Esta entre 200 y 299";
  15. break;
  16.  
  17. case ($iNumero>=10000 and $iNumero<=10999):
  18. echo "Esta entre 10000 y 10999";
  19. break;
  20.  
  21. default:
  22. echo "Fuera de rango";
  23. }
  24. ?>
  25.  


En línea

Mi blog personal: www.calirojas.com
[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Como hago esta comparacion con switch en php?
« Respuesta #2 en: 18 Noviembre 2009, 16:05 pm »

Has probado eso?

Porque no deberia funcionar, es decir, por ejemplo:

Código:
($iNumero>=0 and $iNumero<=99)

En este caso seria 1 (true) y asi sucesivamente, siempere sera 1(true) o 0(false), y por lo tanto siempre se ejecutara default

Saludos.

PD: Ahora no tengo Apache+PHP para comprobar esto, pero creo que es como digo.. :P
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: Como hago esta comparacion con switch en php?
« Respuesta #3 en: 18 Noviembre 2009, 16:25 pm »

no, si $iNumero = 24 al evaluar
Código:
$iNumero>=0 and $iNumero<=99
ambos son true, lo mismo para cualquier cantidad que este dentro del rango, el code está perfecto.
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Como hago esta comparacion con switch en php?
« Respuesta #4 en: 18 Noviembre 2009, 16:38 pm »

Es genial, es lo que buscaba... Muchas gracias!
 
En realidad quiero hacer un programa que tenía en .net ahora en php :) con esto ya me resulta, muchas gracias otra vez!
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Como hago esta comparacion con switch en php?
« Respuesta #5 en: 18 Noviembre 2009, 18:36 pm »

a mi me resulta mas comodo utilizar if, elseif y else, te evitas el break xD además entre llaves se ve mas ordenado (para mi)
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Como hago esta comparacion con switch en php?
« Respuesta #6 en: 18 Noviembre 2009, 19:17 pm »

Pero necesito hacer una comparación de aproximadamente 125 rangos...
 
Tendría que usar el if, else y elseif pero tenía entendido que que usa más recursos no? Además en este caso no se recorre el script completo sí la variable evaluada esta al principio se corta con el break por lo tanto sería menos dolor para el servidor no? xD bueno dolorcito pero algo se ahorra o no...
En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Como hago esta comparacion con switch en php?
« Respuesta #7 en: 18 Noviembre 2009, 22:38 pm »

probe el codigo y va perfecto, cuando leia el primer comentario pensaba ¿OCMO LO HAGO? y era tan facil XD! pero no me queda algo claro, "swich" es para hacerlo un numero o que?

edito, que gil! no habia visto el link de janito. perdon!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines