-2

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

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

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

这种方式也可以做3的倍数...

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

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

4

2 回答 2

4

你可以这样做。

得到除以 10 的余数,然后检查 0、3、5 或 8。

if ($int > 0) {
  $int = $int % 10;
  if ($int == 0 || $int == 3 || $int == 5 || $int == 8)
  {
      //do stuff
  }
}
于 2013-09-06T18:09:09.243 回答
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);
于 2013-09-06T18:09:41.710 回答