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

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

QA

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

답변 3

본문

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

 


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

 

왜...?

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

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

 

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

 

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

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

 

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

 

이 질문에 댓글 쓰기 :

답변 3

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

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

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

<ul> 을 열었을테고

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

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

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

음... 상세한 설명 덕분에 이해가 잘 됐습니다!!


echo '여는태그';

for(){
  ~~
}

echo '닫는태그';


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

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

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

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

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

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

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

for 문이 실행안되게되고

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

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

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

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

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

적용된것도 이상합니다.

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

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

입니다.

 

 



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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,178
© SIRSOFT
현재 페이지 제일 처음으로