如何使用php while循环每5或某个特定数字后增加天数

时间:2018-04-29 13:06:55

标签: php while-loop

$x = 1;
$z = 1;
while($row = $qry->fetch())
{
    $var = 5; //random
    $total = 5; //Dynamic
    if($var>=$total)
    {
        $fx = $x+1;
        $day = "day ".$x; //day1
    }
    elseif($var>=$z)
    {
        $y = $x+1;
        $day = "$var>=$z---day "."$y";//Day Increment
        $z++;
        if($z>$var)
        {
            $z=1;
        }
    }
}

以上代码输出为

day 1
day 1
day 1
day 1
day 1
5>=1---day 2
5>=2---day 2
5>=3---day 2
5>=4---day 2
5>=5---day 2
5>=1---day 2
5>=2---day 2
5>=3---day 2
5>=4---day 2
5>=5---day 2

我想要的是在每第5个计数日之后应该增加到1.如何做到这一点。我想在这里缺少一些逻辑。请帮助我。

结果应为

day 1
day 1
day 1
day 1
day 1
5>=1---day 2 //Note
5>=2---day 2
5>=3---day 2
5>=4---day 2
5>=5---day 2
5>=1---day 3
5>=2---day 3
5>=3---day 3
5>=4---day 3
5>=5---day 3

注意:此日计数应以循环递增

先谢谢

1 个答案:

答案 0 :(得分:0)

如果我完全理解你的问题,你想循环,每次$var次迭代都会将数字增加1。

为此你可以使用%(模数)运算符,它是欧几里德分部的其余部分。

$var = 5; // number of iterations before increasing $day
$day = 1; // current day
$i = 0; // iterator
while( ... ){
   //...
   i++;
   if( i % $var ==  $var-1 ) $day++;
}

或作为等效物你也可以

$var = 5; // number of iterations before increasing $day
$day = 0; // current day
$i = 0; // iterator
while( ... ){
   if( i % $var == 0 ) $day++;
   //...
   i++;
}