在php第四次循环回显一些东西

时间:2014-05-19 19:40:54

标签: php loops for-loop while-loop modulo

我想每隔四次循环做一次2次...所以例如,如果我想回复四次“你好”,那么两次“再见”就好像是那样

hello
hello
hello
hello
goodbye
goodbye
hello
hello
hello
hello

.... 等等..

我尝试过类似的事情..

if ($x==4) {echo 'hello'; }
else {echo 'goodybe'; }

我怎么能在php中做类似的东西?

我可以使用modulo吗?

我只是没有得到它......谢谢!

3 个答案:

答案 0 :(得分:2)

例如:

for ($i = 0; $i < 10; $i++){
    for ($n = 0; $n < 4; $n++) {
        print "hello";
    }
    for ($m = 0; $m < 2; $m++) {
        print "goodbye";
    }
}

答案 1 :(得分:1)

是的,您可以使用模数。用简单的算法第n次好。当你还是小学的孩子时,你做了模数学模数:它是除法问题的余数。当余数为零时,则均匀分配。

零模数整数将产生零。因此,下面的外部迭代循环从1开始,以便您可以跳过$ x = 0的常见基本情况。

for ($x = 1; $x <11; $x++){
    // inside a given loop of ten iterations . . . 

    // determine if this is a plain case or the 4th time
    // if it is the fourth time, load a 1 in $type; otherwise, load a 0.
    $type = ((($x%4)==0)?1:0);
    // prepare to respond with hello or goodbye based on $type
    $output = (($type==0)?"hello":"goodbye");
    // echo $output once or twice based on $type
    for($i=0, $j=1+$type; $i < $j ;$i++){
        echo "<p>$x $output</p>";

    }
}

将生成如下输出:

1你好

2你好

3你好

4再见

4再见

5你好

6你好

7你好

8再见

8再见

9你好

10你好

答案 2 :(得分:0)

试试这个:

if (($x % 6) < 4) {
  echo 'hello';
}
else {
  echo 'goodbye'; 
}