首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何输出自定义while循环php

如何输出自定义while循环php
EN

Stack Overflow用户
提问于 2018-06-30 23:35:59
回答 1查看 120关注 0票数 0

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

代码语言:javascript
复制
1,2,
3,4,
5,6,7,
8,9,
10,11,
12,13,14,
15,16,
17,18,
19,20,21

我试着写这些代码

代码语言:javascript
复制
<?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; 

但是输出是这样的

代码语言:javascript
复制
1
2,3,4,
5
6,7,8,
9
10,11,12,
13
14,15,16,
17
18,19,20,

解决了

@cannon给出了一个完美的解决方案,但是我希望使用循环来调用数据库posts,所以我解决了这个问题.

代码语言:javascript
复制
<?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; 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 00:41:00

您可以尝试这样的方法,它应该像您所描述的那样起作用:

代码语言:javascript
复制
$counter = 1;
for($i = 1; $i < 21; $i++){
    echo $i . ',';

    if($counter % 6 == 0){
        echo ++$i . ',<br>';
    }
    elseif($counter % 2 == 0){
        echo '<br>';
    }
    $counter++;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51119332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档