2

我确信我让这种方式比它更复杂......

我有一个值数组,让我们说它们现在是数字。我想将它们显示在 3 列的页面上。所以我做了3个循环,每列一个。第一个循环我想每第三个值循环一次,从索引 0 开始。第二个循环应该从索引 1 开始,每三次循环一次。第三个循环应该从索引 2 开始,每隔三分之一循环一次。

这是我写的,如果数组中只有 3 个东西,这似乎可行,而且我敢肯定它过于复杂。

谢谢

 <div class="span4 column">
        <?php for ($i = 0; $i <= count($articles_for_board)/3; $i = $i+2):?>
            stuff in here
            </div>
        <?php endfor; ?>
    </div>
    <div class="span4 column">
        <?php for ($i = 1; $i <= (count($all_boards)/3)+1; $i = $i+2):?>
            stuff in here
            </div>
        <?php endfor; ?>
    </div>
    <div class="span4 column">
        <?php for ($i = 2; $i <= (count($all_boards)/3)+2; $i = $i+2):?>
            stuff in here
            </div>
        <?php endfor; ?>
    </div>

所以基本上,第一列将保存数组索引 0、3、6... 第二列将保存 1、4.. 等第三列将保存 2、5、8...

谢谢

4

1 回答 1

4

使用 for 循环,您无需担心所有边界检查。它比你想象的要简单得多:

for ($i = 0; $i < count($all_boards); $i += 3)

这个循环每次迭代都会增加三——也就是说,它每三个成员获得一次——一旦超过$all_boards.

于 2012-08-21T01:29:04.337 回答