每隔一次,打印一次

时间:2011-03-18 03:18:38

标签: php

<?php

$ohhai = 1;

while ($ohhai != 102)
{
    for($t = 1; $t < $ohhai; $t++)
    {
        //if ($t % 3 == 0)
        //{
            $e = $t / 3;
            if (is_int($e))
            {
                echo "*";

            }
        //}
    }

    echo("<br />");
    $ohhai++;
}

?>

我要做的是每隔3次输出一次字符串,如下所示:

$t = 3;

*

$t = 6;

**

$t = 9;

***

等等。我尝试了很多方法来获得这个,这是我得到的最接近的,这是我得到的最接近的。打印出的内容位于此处(难以输入)。我怎样才能完成每次第3次技巧?

6 个答案:

答案 0 :(得分:3)

/为您提供商数。相反,您需要使用%运算符并检查%操作的结果是否为 0 ,然后打印该值。

<?php

$ohhai = 1;
$times = 1;   // This is variable that keeps track of how many times * needs to printed. It's fairly straight forward to understand, why this variable is needed.

while ($ohhai != 102)
{
    if ($t % 3 == 0)
    {
        for ( $counter = 0; $counter < $times; $counter++)
        {
            echo "*";
        }
        $times ++;
        echo("<br />");
    }
    $ohhai++;
}

?>

答案 1 :(得分:2)

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

%是模运算符,它返回除法的余数。如果结果为0,则除法发生时没有余数。

答案 2 :(得分:0)

您可以在大多数语言中使用模数运算符,即除法运算的其余部分

if(iterationNumber%3 == 0)这是第三次。

答案 3 :(得分:0)

我对你要做的事情有点不清楚,但我怀疑你所缺少的是模数运算符%

在PHP中,x % y计算除以x除以y得到的余数。因此,如果您正在计算某些内容,并且您希望为每三个代码运行一些代码,则可以执行以下操作:

if (0 == $count % 3) { // action to perform on every third item }

有关详细信息,请参阅http://php.net/manual/en/language.operators.arithmetic.php上的PHP手册。

另外,我认为您可能还需要一个for循环,以便打印出正确数量的* s。

<?php

$ohhai = 1;

while ($ohhai != 102)
{

  // we only want to print on multiples of 3
  if( 0 == $ohhai % 3 ) {


   for($t = 1; $t <= $ohhai; $t++){
       echo "*";
   }

   echo("<br />\n");
  }
$ohhai++;
}

答案 4 :(得分:0)

使用模运算符。

例如:

  1. 10 % 2 = 0因为2除了10而没有余数。
  2. 10 % 3 = 1因为3除以10而余数为1。
  3. 因此,使用您的注释代码,您的脚本将如下所示:

    <?php
    
    $ohhai = 1;
    
    while ($ohhai != 102)
    {
        for($t = 1; $t < $ohhai; $t++)
        {
            if ($t % 3 == 0)
            {
                echo "*";
            }
        }
    
        echo("<br />");
        $ohhai++;
    }
    
    ?>
    

答案 5 :(得分:0)

$total=102;
for($i=1;$i<=$total;$i++) {
    if($i%3==0){
        for($j=1;$j<=($i/3);$j++)
            echo "*";
        echo "<br/>";
    }
}