【问题标题】:loop through every third value in array php循环遍历数组php中的每三个值
【发布时间】:2012-08-16 08:28:55
【问题描述】:

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

我有一个值数组,我们现在就说它们是数字。我想将它们显示在 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...

谢谢

【问题讨论】:

  • 您的代码中有太多的&lt;/div&gt; 标签。正常吗?
  • 问题是,我如何制作一个循环遍历数组中每个第三个元素的循环...我确定我只是在放屁,但我正在做的事情是工作
  • $i += 3 在循环的末尾是完整的答案。您不需要在终止条件中除以长度或在长度上添加任何内容。

标签: php loops for-loop


【解决方案1】:

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

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

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

【讨论】:

  • 回答完问题:从$i = 1 开始第二个循环,从$i = 2 开始第三个循环,这样您就有了3 个不重复任何值的循环。
  • 谢谢...是的,我想太多了
猜你喜欢
  • 2014-04-22
  • 1970-01-01
  • 2019-07-10
  • 2011-05-23
  • 2012-11-14
  • 2011-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多