테스트 사이트 - 개발 중인 베타 버전입니다

for문 ~~질문 합니다 선배님들 채택완료

jessiwith 6년 전 조회 2,687

</p>

<p><table border="1" width="300" height="150">

        <?php            

            for ($i = 0; $i < 5 ; $i++)             

            {   

                echo "<tr bgcolor='lightgray' align='center'>";

                for($j = 0; $j < 5; $j++)

                {

                echo "<td></td>";

                }

                echo "</tr>";

            }

            

            ?>

        </table></p>

<p> </p>

<p>

 

for문 위에 실행 순서~~ 가 좀 헷갈리는데 알려주시면 감사하겠습니다.

 

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

답변 3개

채택된 답변
+20 포인트
베원
6년 전

안에서부터 하나씩 해석하시면 됩니다.

 

를 5번 반복한다는 명령을 foo 라고 합시다.

그럼 foo는 아래와 같은 코드이겠지요?

</p>

<p>for($j=0; $j<5; $j++) {</p>

<p>    echo "<td></td>";</p>

<p>}</p>

<p>

 

이 foo를 5번 반복하는 명령을 bar 라고 합니다.

그럼 bar는 아래와 같은 코드이겠지요?

</p>

<p>for($i=0; $i<5; $i++) {</p>

<p>    // foo</p>

<p>}</p>

<p>

 

자 여기서 bar 코드 안에 빠진 부분을 채워넣어봅시다.

</p>

<p>for($i=0; $i<5; $i++) {</p>

<p>    <code>echo</code> <code>"<tr bgcolor='lightgray' align='center'>"</code><code>;</code></p>

<p>    // foo</p>

<p>    <code>echo</code> <code>"</tr>"</code><code>;</code></p>

<p>}</p>

<p>

 

자 다시 되짚어봅시다.

foo는 를 5번 반복하는 코드였습니다.

이 의미를 다시 bar 안에 넣어봅시다.

</p>

<p>for($i=0; $i<5; $i++) {</p>

<p>    <code>echo</code> <code>"<tr bgcolor='lightgray' align='center'>"</code><code>;</code></p>

<p>    // <td></td>를 5번 반복한다.</p>

<p>    <code>echo</code> <code>"</tr>"</code><code>;</code></p>

<p>}</p>

<p>

 

그럼 최종 결과물은

</p>

<p><code><tr bgcolor='lightgray' align='center'></code></p>

<p><code>    <td></td><td></td><td></td><td></td><td></td></code></p>

<p><code></tr></code></p>

<p><code><tr bgcolor='lightgray' align='center'></code></p>

<p><code>    <td></td><td></td><td></td><td></td><td></td></code></p>

<p><code></tr></code></p>

<p><code><tr bgcolor='lightgray' align='center'></code></p>

<p><code>    <td></td><td></td><td></td><td></td><td></td></code></p>

<p><code></tr></code></p>

<p><code><tr bgcolor='lightgray' align='center'></code></p>

<p><code>    <td></td><td></td><td></td><td></td><td></td></code></p>

<p><code></tr></code></p>

<p><code><tr bgcolor='lightgray' align='center'></code></p>

<p><code>    <td></td><td></td><td></td><td></td><td></td></code></p>

<p><code></tr></code></p>

<p><font face="monospace"><span style="font-size: 11.7px;">

가 되겠네요.

 

지금 헷갈리시는 부분은, $i와 $j를 함께 생각해서 그렇습니다.

이 코드에서는 $i와 $j가 서로 관여하고 있지 않습니다. 따라서 별개의 값으로 보고 분리해서 생각하시면 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

j
jessiwith
6년 전
결과물은 확인했습니다.
echo "<tr bgcolor='lightgray' align='center'>"; 1. 실행 1번 실행하고
바로 밑에 echo "<td></td>"; //2. 5번 실행 해서 5칸 만들고
echo "</tr> 감싸주고
그다음 다시 1번으로 올라가서 행 생성 그다음에 5칸 생성 이순서가 맞는게 아닌가요?
베원
6년 전
@jessiwith 네 이해한게 맞습니다. 이해한 것과 결과물이 같지 않으신가요?

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

s
sinbi Expert
6년 전
로그인 후 평가할 수 있습니다

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

o
6년 전
 "; 1. 실행
                for($j = 0; $j < 5; $j++)
                {
                echo ""; //2. 5번 실행 
                }
                echo ""; 3. 1번 실행 
//여기까지 면  한행이 실행됩니다 
루트로 이런것이 5번 나오게 됩니다.
            }
            
            ?>
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

j
jessiwith
6년 전
1. 실행은 1번 실행해서 한줄 만들고 2번 넘어가서 5칸 생성하고 3번 실행해서 줄마감 하고 1-2-3 이렇게 5번 반복 아닌가요?

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

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

로그인