如果INT等于3,5,8,10,13,15(等)

时间:2013-09-06 17:59:54

标签: php if-statement

我希望在PHP中有一个if语句来计算INT是否只等于某些数字。模式将如下:3,5,8,10,13,15,18,20等。它增加3,然后是2,重复。该模式与最后一位数字(3,5,8,0)一致,但我不想包括前一位数。

我可以这样做,但它可以永远持续......

if($int == 3 || $int == 5 || $int == 8 || $int == 10 ....)
{
    //do stuff
}

这种方式也是3的倍数......

if ($int % 3 == 0)
{
    //do stuff
}

但是没有做我想要的模式。这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

你可以这样做。

将除法的余数除以10,然后检查0,3,5或8。

if ($int > 0) {
  $int = $int % 10;
  if ($int == 0 || $int == 3 || $int == 5 || $int == 8)
  {
      //do stuff
  }
}

答案 1 :(得分:0)

function check($t) {
    $mod = $t % 10;
    if ($mod == 0 || $mod == 3 || $mod == 5 || $mod == 8)
        echo $t;
}
$arr = array(3, 6, 8, 10, 20, 13, 15, 19);
array_map('check', $arr);