当我说'Every 3rd Iteration'时,我的意思是'每第3次迭代......从4号开始'
如果它只是每隔3个,我会像这样定位适当的迭代:
<?php if ($count % 3 == 0) : ?>
请记住我事先将$count
设置为1
但是迭代需要从第4个开始,然后是第7个,第10个等等。
有谁知道我怎么能做到这一点?我可以使用上面的简单if
语句来完成吗?
不幸的是我不认为for
循环是可能的,因为这是我正在处理的WordPress循环
答案 0 :(得分:4)
您对使用模数运算符的想法是合理的,您只需要扩展围绕它的逻辑范围:
您希望在初始4之后的每第三次迭代都通过。在第一个4之后开始你的逻辑:
if ($count > 4)
然后,你想要每个3之后。您的计数器包含您不想包含的最初4次迭代,因此从计数器中删除它并检查当前迭代是否是3的倍数:
if (($count - 4) % 3 === 0)
这可以为您提供您正在寻找的东西。
if ($count > 4)
{
if (($count - 4) % 3 === 0)
{
...
}
}
你也可以把它放在一行:
if ($count > 4 && ($count - 4) % 3 === 0)
{
...
}
答案 1 :(得分:1)
foreach($array as $key=>$value){
if($key % 3 != 0){
continue;
}
}