Php 当循环每增加X倍时,在循环内计数
我真的不知道如何解决这个问题,但我目前有一个while循环输出Php 当循环每增加X倍时,在循环内计数,php,loops,Php,Loops,我真的不知道如何解决这个问题,但我目前有一个while循环输出 假设有35行,我希望计数器每五次增加一次 所以输出是这样的 - 1 Name - 1 Name - 1 Name - 1 Name - 1 Name - 2 Name - 2 Name - 2 Name - 2 Name - 2 Name - 3 Name - 3 Name - 3 Name - 3 Name - 3 Name - 4 Name and so on... 我试着在整个循环中计数,比较
假设有35行,我希望计数器每五次增加一次
所以输出是这样的
- 1 Name
- 1 Name
- 1 Name
- 1 Name
- 1 Name
- 2 Name
- 2 Name
- 2 Name
- 2 Name
- 2 Name
- 3 Name
- 3 Name
- 3 Name
- 3 Name
- 3 Name
- 4 Name and so on...
我试着在整个循环中计数,比较数字是否小于5,如果不小于5,则增加它,但我知道这是不正确的。似乎无法找到最好的解决方案
while ($stmt->fetch()) {
$HTML .= "<li data-id='$id' data-name='$name'>$count Name</li>";
}
while($stmt->fetch()){
$HTML.=“$count名称 ”;
}
为了让这更清楚…基本上我希望有一个计数器变量运行。从1开始,但在while循环中每隔五次,我想将这个count变量增加一个。$I=1
$i=1
while ($stmt->fetch()) {
if($i%5==0){
$HTML .= "<li data-id='$id' data-name='$name'>$count Name</li>";
}
$i++;
}
而($stmt->fetch()){
如果($i%5==0){
$HTML.=“$count名称 ”;
}
$i++;
}
$i=1
而($stmt->fetch()){
如果($i%5==0){
$HTML.=“$count名称 ”;
}
$i++;
}
$count=$rows=0;
而($stmt->fetch()){
如果($rows%5==0)
$count++;
$rows++;
$HTML.=“$count名称 ”;
}
$count=$rows=0;
而($stmt->fetch()){
如果($rows%5==0)
$count++;
$rows++;
$HTML.=“$count名称 ”;
}
您可以使用数组填充()
例如:
$count = 0;
while ($stmt->fetch() && $count++) {
$HTML .= implode('', array_fill(0, 5, "<li data-id='$id' data-name='$name'>$count Name</li>"));
}
$count=0;
而($stmt->fetch()&&&$count++){
$HTML.=内爆(“”,数组填充(0,5,“$count名称 ”);
}
另一个演示(ignite.io可能无法保存):
您可以使用数组填充()
(psuedo代码):
例如:
$count = 0;
while ($stmt->fetch() && $count++) {
$HTML .= implode('', array_fill(0, 5, "<li data-id='$id' data-name='$name'>$count Name</li>"));
}
$count=0;
而($stmt->fetch()&&&$count++){
$HTML.=内爆(“”,数组填充(0,5,“$count名称 ”);
}
另一个演示(ignite.io可能无法保存):
用于($i=1;$i用于($i=1;$i您的问题不清楚php是否有模运算符?loopno mod 5+1将用于从0开始的索引。使用两个计数器,一个计数器最多计数5,每次它达到5,您就递增第二个计数器。然后在输出中包含第二个计数器……或者使用一个计数器,然后将其除以5,并在中添加1.5个答案不到2分钟,虽然大多数都是错的…但仍然!用一个不清楚的问题很难做出正确的答案你的问题不清楚php是否有一个模运算符?loopno mod 5+1将用于从0开始的索引。使用两个计数器,一个计数器最多计数5,每次它达到5,你就增加第二个计数器。然后包括s在输出中使用第二个计数器…或者使用一个计数器,然后将其除以5,在不到2分钟的时间内添加1.5个答案,尽管大多数答案都是错误的…但仍然!如果问题不清楚,很难做出正确的答案移动$rows++;
在if语句之后移动似乎有效!谢谢,所以这是预期的结果。我没想到。Movif语句后面的ing$rows++;
似乎有效!ThanksAh,所以这是预期的结果。我没有预料到。这种方法忽略了重要的$stmt->fetch()
。很可能每次迭代都会使用该db记录中的某个唯一值。对。好吧,值得一试。这种方法忽略了重要的$stmt->fetch()
。很可能每次迭代都会使用该db记录中的某个唯一值。对。好吧,值得一试。
$count = 0;
while ($stmt->fetch() && $count++) {
$HTML .= implode('', array_fill(0, 5, "<li data-id='$id' data-name='$name'>$count Name</li>"));
}
for($i=1; $i <= 20; $i++){
$array[] = "Name " . $i;
}
$count = 1;
$output = 1;
for($i=0; $i < 20; $i++){
if($count++ < 5)
echo $output . ". " . $array[$i] . "<BR>";
else{
$count = 1;
echo $output++ . ". " . $array[$i] . "<BR>";
}
}