如何输出自定义的循环 php



我想在我的 while 循环中使用计数器作为自定义,假设我们有一个 while 循环<21 我正在尝试输出类似这样的结果:

1,2,
3,4,
5,6,7,
8,9,
10,11,
12,13,14,
15,16,
17,18,
19,20,21

我尝试编写这些代码

<?php 
$counter = 1;
while ($counter <21) : 
if( $counter == 1 || ($counter-1)%4 == 0 ) { 
echo $counter."<br>";
} 
if( $counter == 2 || ($counter-2)%4 == 0 ) { ?>
<div class="others">
<?php } 
if( $counter != 1 && ($counter-1)%4 != 0 ) { 
echo $counter.',';
}
if( $counter%4 == 0 ) { ?>
</div>
<?php } 
$counter++;
endwhile; 

但是输出是这样的

1
2,3,4,
5
6,7,8,
9
10,11,12,
13
14,15,16,
17
18,19,20,

解决


@cannon给出了一个完美运行的解决方案,但我想使用循环来调用数据库帖子,这就是我解决问题的原因......

<?php
$counter = 1;
$module =  7;
$i = 2;
$arr = [];
while ($counter <22) : 
if( $counter == 1 || ($counter-1)% $module == 0  ) { 
echo $counter.',';
} 
if(  $counter == 2  || ($counter-2)% $module    == 0 ) { 
echo $counter.',<br>';
} 
if( $counter == 3 || ($counter-3)% $module == 0  ) { 
echo $counter.',';
} 
if(  $counter == 4  || ($counter-4)% $module    == 0 ) { 
echo $counter.',<br>';
}
$i = $i + $module;
$arr[] = $i;
if(!in_array($counter,$arr)){
if( $counter == 5 || ($counter-5)% $module == 0 ) { 
} 
if( $counter != 1 && $counter != 2  && $counter != 3 && ($counter-1)% $module != 0  
&& $counter != 4  && ($counter-3)% $module != 0 && ($counter-4)% $module != 0  ) { 
echo $counter.',';
}
if( $counter% $module == 0 ) { 
echo '<br>';
}
} 
$counter++;
endwhile; 

您可以尝试这样的事情,它应该像您描述的那样工作:

$counter = 1;
for($i = 1; $i < 21; $i++){
echo $i . ',';
if($counter % 6 == 0){
echo ++$i . ',<br>';
}
elseif($counter % 2 == 0){
echo '<br>';
}
$counter++;
}

最新更新