PHP如果计数器等于x或y
我想安排我的WP帖子在页面顶部有一个全角帖子,然后每行3个帖子。PHP如果计数器等于x或y
我有一切显示,但我留下来的是3如果我的专栏之前和之后的声明。我确信这很简单,但是当我尝试使用“if($ counter == 1 | 4 | 7)”时,我得到了每个div的一行。有没有更简洁的方式来写这个并得到相同的结果?
<?php if <?php if ($counter == 1) : ?>: ?>
<div class="row"><!-- .row - 1 -->
<?php elseif ($counter == 4) : ?>
<div class="row"><!-- .row - 4-->
<?php elseif ($counter == 7) : ?>
<div class="row"> <!-- .row - 7 -->
<?php endif; ?>
<div class="col-md-4">
<p>Content</p>
</div>
<?php if ($counter == 3) : ?>
</div><!-- .row 3 -->
<?php elseif ($counter == 6) : ?>
</div><!-- .row 6 -->
<?php elseif ($counter == 9) : ?>
</div><!-- .row 9 -->
<?php endif; ?>
另一种解决方案是使用in_array(特别是如果选项是随机的并且有很多这些选项)
if (in_array($counter, [1, 4, 7]))
另请注意,符号是一个按位运算符。这里了解更多:
谢谢迈克尔,这正是我一直在寻找的。 – Wilko
尝试使用模,所以你不要有写一个条件每一样东西3:
if ($counter % 3 == 0)
将匹配任何时间计数器是3的倍数,你可以更改号码以匹配任何你想要的条件。
我试过这个,但它打破了布局。我想是因为我已经有了一个全宽的列。 – Wilko
在PHP中的多个语句是作为单独的案例编写的。即
if ($counter == 1 || $counter == 4 || $counter == 7)
但在你的情况下,使用模运算符,它返回模(除法的余数),它可以被简化为:
if ($counter%3 == 1) {
// Open div
}
if ($counter%3 == 0) {
// Close div
}
'如果($计数器== 1 || $计数器== 4 || $反== 7)' –
您或许可以使用模运算符,'如果($计数器%3 == 1)',后者等于零。 – Qirel
希望第一行是一个复制/粘贴错误,否则你需要纠正它 – jeff