$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
注意:此日计数应以循环递增
先谢谢
答案 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++;
}