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

for 문으로 불러오는 부분에서 궁금한게 있는데요... 채택완료

coDribble 5년 전 조회 3,192

리스트 형식으로 불러올때 거의 모든 쿼리가 for 문으로 돌아가는데...

 

</p>

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

<p> </p>

<p>  if($i == 0)</p>

<p>    echo '<여는태그>';

}</p>

<p>if( $i > 0){</p>

<p>  echo '</닫는태그>';

}</p>

<p>

 

왜...?

여는 태그는 for문 안에서 $i 가 0일때 출력시키고,

닫는 태그는 for문 밖에서 $i 가 0보다 클때 출력시키나요...??

 

왜 저렇게 해놓는건지 이해가 잘 안돼서... 문의 남겨 봅니다...;;

 

제 기준으로는... for 문 시작전 여는태그 echo 로 불러오든 html 로 박아놓든 시작전에 열고

for문에는 뿌려질 리스트내용들만 뿌려주고, for문 끝나면 여는 태그와 같이 echo or html 로 태그 닫으면 되지 않나요...??

 

물론 리스트가 없을 경우에도 빈 태그로 감싸고 있게 되는 격인건 알지만 위에 for문안에서 열고, for문 밖에서 닫고... 이러는 이유가 따로 있는건가 싶어서 궁금합니다;;

 

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

답변 3개

채택된 답변
+20 포인트
그누위즈

첫번째 for문이 열릴때에 $i == 0 이라면

<ul> 태그들을 열수가있겠죠?

$i == 0 이라면의 의미가 데이터의 행이 있다면이기때문에

<ul> 을 열었을테고

for문이 끝나고나서 $i > 0 이라면

데이터가 앞전에 있었을테니 <ul>이 열렸을테니

이제 닫아야겠다~ 해서 닫는겁니다.

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

답변에 대한 댓글 1개

c
coDribble
5년 전
음... 상세한 설명 덕분에 이해가 잘 됐습니다!!

[code]
echo '여는태그';

for(){
~~
}

echo '닫는태그';
[/code]

제가 생각한 방식처럼 이런식으로 구현하면 for 문의 행이 없는 경우에도

열고 닫는 태그(불필요한 소스)가 생기게 돼서

기존 for문에서 열고 for밖에서 닫는 형식의 설명해주신 대로라면

불필요한 소스 생성 방지 정도로 생각하고 있으면 되겠네요

행이 있으면 열고, 닫고...

행이 없으면 그냥 무시되는!!

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

스피드S
5년 전

말씀하신것 처럼 열고 닫는데 잘못 쓰인 경우입니다.

올려주신 태그 내용상 저렇게 쓰인다면 for문 자체도 필요없고

적용된것도 이상합니다.

저렇게 돌리면 row값이 10이라면 

<여는태그>1<닫는태그>2<닫는태그>3<닫는태그>4<닫는태그>5<닫는태그>... 

입니다.

 

 

</p>

<pre>
<code>for($i=0;~~){
 
  if($i == 0)
    echo '<여는태그>';
}
if( $i > 0){
  echo '</닫는태그>';
}</code></pre>

<p>

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

답변에 대한 댓글 1개

c
coDribble
5년 전
닫는태그는 for문 밖에 있는데 for 돌아가는 수만큼 닫는태그가 출력되나요...??

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

플래토
5년 전

for  문을 실행하는 조건이 안맞으면 실행을 

for 문이 실행안되게되고

그러면 i = 0 이 대입됩니다.

따라서 0보다 클때 닫지 않으면

태그가 짝이 안맞는 형태로 만들어지겠죠

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

답변에 대한 댓글 1개

c
coDribble
5년 전
처음 읽었을땐 이해가 안됐었는데 아래 그누위즈님께서 설명해주신걸 보고 나니 무슨 말씀을 하신건지 이해가 잘 됐습니다!

감사합니다!

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

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

로그인