Foros del Web » Programando para Internet » PHP »

Simplificar comparación if

Estas en el tema de Simplificar comparación if en el foro de PHP en Foros del Web. Hola, tengo el siguiente if que compara $Itemid con varios valores: Código PHP: if (  $Itemid  ==  '113'  ||  $Itemid  ==  '114'  ||  $Itemid  ==  '115'  ...
  #1 (permalink)  
Antiguo 23/03/2008, 20:42
Avatar de merolhack  
Fecha de Ingreso: junio-2006
Ubicación: México
Mensajes: 1.242
Antigüedad: 17 años, 10 meses
Puntos: 16
Simplificar comparación if

Hola,

tengo el siguiente if que compara $Itemid con varios valores:
Código PHP:
if ( $Itemid == '113' || $Itemid == '114' || $Itemid == '115' || $Itemid == '116' || $Itemid == '118' || $Itemid == '123' ) { 
Pero pueden ser más, en este caso cómo podría hacerle para que haga una sola comparación en algo como un arreglo? o sea algo más simple como:
Código PHP:
if ( $Itemid == arreglo[] ) { 
Y que en ese arreglo metiera yo todos los valores?
O será con un for? del tipo:
Código PHP:
$arreglo = array("113","114","115","116","118","123");
for ( 
$i 0$i 6$i++ ) {
    if ( 
$Itemid == arreglo[$i] ) {
        ...
    }

¿Cuál podría ser la forma más fácil de hacerlo?
  #2 (permalink)  
Antiguo 23/03/2008, 21:06
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 7
Re: Simplificar comparación if

Si tenes el valor dentro de un arreglo, lo que podes hacer es buscar si ese valor esta dentro del arreglo con in_array(). Te devuelve true si lo encuentra y false si no lo encuentra.

Código PHP:
if(in_array($Itemid$arreglo))
{
echo 
'El valor de '.$Itemid.' esta dentro del arreglo';

  #3 (permalink)  
Antiguo 23/03/2008, 23:36
Avatar de merolhack  
Fecha de Ingreso: junio-2006
Ubicación: México
Mensajes: 1.242
Antigüedad: 17 años, 10 meses
Puntos: 16
Re: Simplificar comparación if

Pues lo voy a probar a ver si con esto es más fácil, muchas gracias
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 21:28.