PHP if是整数的倍数

时间:2012-07-10 17:21:11

标签: php if-statement for-loop

在for循环中,我需要添加一些HTML,只有当循环在[(3的倍数)减1]时输出。

例如,我能做的是:

for($i=0; $i<count($imagearray); $i++)
{
    if($i=="0" || $i=="2" || $i=="5" || $i=="8" || $i=="11")
    {
        echo 'string';
    }
}

但这对于大型for循环来说并不是非常优雅且无用,是否有正确的方法可以做到这一点?

5 个答案:

答案 0 :(得分:6)

if ( $i==0 || ($i+1)%3 == 0 )
{
    //do stuff
}

这将做什么,是转到下一个索引,除以3,看看是否有余数。如果没有,那么这意味着当前索引比可被3整除的数字少一个

答案 1 :(得分:0)

使用the modulus operator

if (! (($i+1) % 3) ) {

如果$i+1除以3而没有余数,则结果为零。然后你只需要一个布尔而不是

如果你想匹配0(因为你在你的例子中使用它,但它与你的描述不符),那么你必须使用||特殊情况。

答案 2 :(得分:0)

你想使用模数:

(1 % 3) == 1
(2 % 3) == 2
(3 % 3) == 0
(4 % 3) == 1
祝你好运

模数和说法是一样的,给我剩下的一个部门。所以1/3等于0余数1,依此类推。

答案 3 :(得分:0)

if(($i+1)%3 == 0){
    //do something
}

%运算符称为模运算符,并返回除法的余数。

答案 4 :(得分:0)

因此,最优雅的方法是

if ($i % 3 === 2) {
  //do stuff
}

因为它没有向$i值添加内容,但所有答案都基本正确!