当计数器均匀但不为零时回显

时间:2011-04-01 15:20:57

标签: php for-loop

for ($i=0; $i<=25; $i++) {
if ($i % 2) { is odd } else { is even }
}

我必须从0开始,但我不希望它显得均匀。

9 个答案:

答案 0 :(得分:3)

for ($i=0; $i<=25; $i++) 
{
    if($i == 0)
    {
        continue;
    }
    if ($i % 2) 
    { 
         //is odd 
    } 
    else 
    { 
         //is even 
    }

}

就这么简单。继续将使它跳过循环的这个特定迭代的其余部分。您还可以在continue之前执行一些代码来处理0,因为0既不是偶数也不是奇数。或者你可以把它作为if / elseif / else结构的第一部分。

或者代替if($i % 2)你可以做if($i % 2 || $i == 0),这会使它处理奇数代码而不是代码。

答案 1 :(得分:1)

就这么简单。

for ($i=0; $i<=25; $i++) {
    if($i) {
        if ($i % 2) { is odd } else { is even }
    }
    // Other code
}

或者如果你想将0计为奇数:

for ($i=0; $i<=25; $i++) {
    if (!$i || $i % 2) { is odd } else { is even }
    // Other code
}

答案 2 :(得分:1)

for ($i=0; $i<=25; $i++) {
if (i==0) {
  echo 'zero';
  } elseif ($i % 2 ==0) { 
  echo 'is even'; 
 } else { 
  echo 'is odd'; 
 }
}

OR

 for ($i=0; $i<=25; $i++) {
    if ($i !=0){
      if ($i % 2 ==0 { 
        echo 'is even'; 
      } else { 
        echo 'is odd'; 
      }
    }
  }

答案 3 :(得分:1)

首先,你真的需要从0开始你的for循环吗?你可以通过for ($i=1; $i<=25; $i++)

轻松地解决这个问题

如果你真的需要从0开始,你实际上可以针对这种特殊情况进行测试:



if ($i === 0 || $i % 2) { is odd } else { is even }

答案 4 :(得分:0)

  

for($ i = 0; $ i&lt; = 25; $ i ++){   if($ i%2&amp;&amp; $ i!= 0){is odd} else {are even}   }

答案 5 :(得分:0)

如果您只想迭代偶数值,则会对其进行排序:

for ($i=0; $i<=25; $i+=2) {
...
}

答案 6 :(得分:0)

也许它不是最具可读性,但效率最高:

for ($i=0; $i<=25; $i++) {
    if ($i)
        if ($i & 1) { is odd } else { is even }
}

答案 7 :(得分:0)

不幸的是,我觉得你需要一个额外的......

    for ($i=0; $i<=25; $i++) {
echo (($i>0)?(($i % 2 )? "odd":"even"):"whatever");
}

答案 8 :(得分:0)

为什么不在这个已经回答良好的帖子中再添加一个答案:

for ($i=0; $i<=25; $i++)
{
    if($i === 0) continue;
    if ($i % 2) { is odd } else { is even }
}

如果添加if($i === 0) continue;,它将跳过其余代码并转到下一次迭代。