2017-10-15 158 views
0

我想安排我的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; ?> 
+0

'如果($計數器== 1 || $計數器== 4 || $反== 7)' –

+0

您或許可以使用模運算符,'如果($計數器%3 == 1)',後者等於零。 – Qirel

+0

希望第一行是一個複製/粘貼錯誤,否則你需要糾正它 – jeff

回答

0

另一種解決方案是使用in_array(特別是如果選項是隨機的並且有很多這些選項)

if (in_array($counter, [1, 4, 7])) 

另請注意,符號是一個按位運算符。這裏瞭解更多:

http://php.net/manual/en/language.operators.bitwise.php

+0

謝謝邁克爾,這正是我一直在尋找的。 – Wilko

0

嘗試使用模,所以你不要有寫一個條件每一樣東西3:

if ($counter % 3 == 0) 

將匹配任何時間計數器是3的倍數,你可以更改號碼以匹配任何你想要的條件。

+0

我試過這個,但它打破了佈局。我想是因爲我已經有了一個全寬的列。 – Wilko

0

在PHP中的多個語句是作爲單獨的案例編寫的。即

if ($counter == 1 || $counter == 4 || $counter == 7) 

但在你的情況下,使用模運算符,它返回(除法的餘數),它可以被簡化爲:

if ($counter%3 == 1) { 
    // Open div 
} 

if ($counter%3 == 0) { 
    // Close div 
} 
相關問題