缩写php if /或statement

时间:2013-09-07 16:25:39

标签: php

有没有办法缩写以下内容?

if ($chk == 1 || $chk == 3 || $chk == 5 || $chk == 7){
do some stuff
}

感谢。

5 个答案:

答案 0 :(得分:10)

if (in_array($chk, array(1, 3, 5, 7))) ... 

或者,如果您打算包含if-elseif-cascades,请使用switch语句:

switch($chk)
{
  case 1: case 3: case 5: case 7: 
    do_something();
    break; 
  case 10: case 30: case 50: case 70: 
    do_something_else();
    break; 
  default: 
    do_default();
}

答案 1 :(得分:1)

如果您只使用不均匀的数字,则可以检查该值。如果值不均匀,则执行该功能

$unevenNumbers=array(1,2,3,4,5,7);

foreach($unevenNumbers as $nbr){
    if( $nbr % 2 !== 0){
        //do some stuff
    }
}

答案 2 :(得分:1)

如果你看起来很奇怪!

if (!(($chk % 2)==0)  // can use if($chk&1) instead
{
 //odd acess
}
 else
{
 //even stuff
}

if($num&1) 
{
    //odd stuff
} 
else 
{
    //even stuff
}

或某些逻辑

if($num&1) 
{
    //odd stuff

      if($num>=1 && $num<=7)
                  {//your special stuff 
                  }
} 
else 
{
    //even stuff
}

答案 3 :(得分:0)

您可以使用三元运算符。

in_array($chk, array(1, 3, 5, 7)) ? /* Do some stuff*/;

答案 4 :(得分:0)

<?php
$arr = array(1, 3, 5, 7);
if (in_array($chk, $arr)) {
    // DO SOMETHING
}