6

在php中我有循环例如

for ($i = 0; $i <= 1000; $i++) {
   if ($i = 10 || $i == 20 || $i == 30 || $i == 40 || $i == 50 || $i == 60) {
      echo $i;
   }
}

想象一下,我需要回显 $i 每10,20,30,40,50,60,..970,980,990应该有办法不在if语句中写 100 个条件。是否有一些合乎逻辑的方法来查看是否$i增加了 10 然后执行以下操作:

if ($i == $i+10) {
   ...
}

PS如果可能的话我不想引入另一个变量来计算我需要找到解决方案只使用$i

4

4 回答 4

22

尝试:

if ($i % 10 == 0) 

只要您的索引完全可以被 10 整除,就会触发。

于 2012-05-17T17:31:48.923 回答
5

将你的 for 循环重写为:

for ($i = 0; $i <= 1000; $i+=10) {

而且我不知道这样的逗号是否对您有用(如您最初的帖子中所示):

for ($i = 0, $i <= 1000, $i++) {
于 2012-05-17T17:32:51.977 回答
1

跳过额外的循环:

for ($i = 10; $i <= 1000; $i=$i+10) {
  echo $i;
}

或者,如果您仍想在以下之间循环每个数字:

for ($i = 0; $i <= 1000; $i++) {   
  if( $i % 10 === 0 ) {
      echo $i;
  }  
}

在这里测试

于 2012-05-17T17:33:41.573 回答
0

把它放在你的主循环中。'%' 或 'mod' 给你 $i / 10 的余数。如果余数是 '0',那么你想打印。

if(0 === ($i % 10)) {
   echo $i;
}
于 2012-05-17T17:33:35.830 回答