2017-10-15 8 views
0

페이지 상단에 전폭 게시물 한 개를 놓은 다음 행당 3 개의 게시물로 WP 게시물을 정렬하고 싶습니다.PHP가 카운터가 x 또는 y와 같은 경우

나는 모든 것을 표시하고 있지만, 왼쪽과 왼쪽에있는 것은 내 전후 3 개의 if 문입니다. 나는 이것이 정말로 간단하다고 확신하지만 "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)'처음에는 0, 후자에서는 0과 같다. – Qirel

+0

잘하면 첫 번째 줄은 복사/붙여 넣기 오류입니다. 그렇지 않으면 수정해야합니다. – jeff

답변

0

(특히 옵션이 무작위이고 많은 옵션이있는 경우)

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

또한 | 기호는 비트 연산자입니다. 자세한 내용은 여기에서 확인하시기 바랍니다 :

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

+0

감사합니다. Michael, 이것이 내가 찾고있는 것입니다. – Wilko

0

당신과 같은 각 3. 뭔가에 대한 조건을 작성해야 그나마 있도록 모듈을 사용해보십시오 :

if ($counter % 3 == 0) 

이 카운터가 3의 배수 인 모든 시간을 일치합니다, 당신은 수를 변경할 수 있습니다 네가 원하는 어떤 조건과도 일치해라.

+0

나는 이것을 시도했지만 레이아웃이 깨졌습니다. 나는 이미 위 너비 열이 있었기 때문에 나는 생각한다. – Wilko

0

PHP의 다중 명령문은 별도의 경우로 작성됩니다.

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

그러나 귀하의 경우, 반환 모듈로 연산자를 사용하여 즉

(나누기의 나머지), 그것은 간단하게 할 수 있습니다에 모듈 : 또 다른 해결책이와 in_array 사용하는 것입니다

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

if ($counter%3 == 0) { 
    // Close div 
}