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
Jejeje, en la documentacion SI sale. Pruebe algo como esto:
<?php
$iNumero=24;
switch($iNumero){
case ($iNumero>=0 and $iNumero<=99):
echo "Esta entre 0 y 99";
break;
case ($iNumero>=100 and $iNumero<=199):
echo "Esta entre 100 y 199";
break;
case ($iNumero>=200 and $iNumero<=299):
echo "Esta entre 200 y 299";
break;
case ($iNumero>=10000 and $iNumero<=10999):
echo "Esta entre 10000 y 10999";
break;
default:
echo "Fuera de rango";
}
?>
Has probado eso?
Porque no deberia funcionar, es decir, por ejemplo:
($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
no, si $iNumero = 24 al evaluar
$iNumero>=0 and $iNumero<=99
ambos son true, lo mismo para cualquier cantidad que este dentro del rango, el code está perfecto.
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!
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)
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...
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!