[PHP] For문 질문드립니다. 채택완료

4년 전 조회 4,706

Copy
<ul class="wrapper">

    <?php

        $counter = 20; 

        for ($i=0; $i<$counter; $i++) {

    ?>

        <div class="slider"> // slider 태그를 5번씩 끊어서 나오게하고싶습니다.

            <li>

                <span>내용출력..</span>

            </li>

        </div>

    <?php } ?>

</ul>

 

위와 같은 코드가 있는데요 for문에서 20번을 반복하는 코드인데.

 

저기서 <div class="slider"> 이 태그를 5번씩 나눠서 보여주고싶습니다.. 지금 상태로하면 slider 태그도 20번을 반복해버려서요..

 

최종 결과물의, 아래처럼 나오게하고싶은데 어떻게 하면될까요?

 

Copy
<div class="slider">

 

내용물 출력

 

</div>

 

<div class="slider">

 

내용물 출력

 

</div>

 

<div class="slider">

 

내용물 출력

 

</div>

 

<div class="slider">

 

내용물 출력

 

</div>

 

<div class="slider">

 

내용물 출력

 

</div>

 

답변 2개

채택된 답변
+20 포인트

Copy
<ul class="wrapper">
    <?php
        $counter = 20; 
        for ($i=0; $i<$counter; $i++) {
            if ($i%4==0) echo '<div class="slider">';
    ?>
    <li>
        <span>내용출력..</span>
    </li>
    <?php 
            if ($i%4==0) echo '</div>';
        } 
    ?>
</ul>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

답변감사드립니다

위 처럼 하면은 태그가
[code]
<div class="slider">
<li>
....내용물
</li>
</div>

<li>
...내용물
</li>

<li>
...내용물
</li>
<div class="slider">

<li>
..내용물
</li>
</div>
[/code]

이런식으로 표기되는데요


slider 하나에 li 를 각각 5개씩 넣어서 가져갈순 없을까요?

li 는 무조건 slider 안에 있어야해서요.
if ($i%4==0) echo '</div>'; 이 부분을
if ($i%4==3) echo '</div>'; 이렇게 수정해보세요!
slider 하나에 li 를 각각 5개씩
이라면
if ($i%5==0) echo ...

댓글을 작성하려면 로그인이 필요합니다.

<ul class="wrapper">
    <?php
        $counter = 20; 
        for ($i=0; $i<$counter; $i+=5) {
    ?>
        <div class="slider"> // slider 태그를 5번씩 끊어서 나오게하고싶습니다.
            <li>
                <span>내용출력..</span>
            </li>
        </div>
    <?php } ?>
</ul>

또는
<ul class="wrapper">
    <?php
        $counter = 20; 
        for ($i=0; $i<$counter; $i++) {
           if ($i %  5 == 0) {
    ?>
        <div class="slider"> // slider 태그를 5번씩 끊어서 나오게하고싶습니다.
            <li>
                <span>내용출력..</span>
            </li>
        </div>
    <?php
           }
        } 
     ?>
</ul>
 
 이렇게 하면 안될까요 ?
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고