$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注意:此日计数应在循环中递增。
提前谢谢
发布于 2018-04-29 13:17:57
如果我很好地理解了您的问题,那么您需要循环,并且每次$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++;
}https://stackoverflow.com/questions/50086894
复制相似问题