그누보드 list.php 질문입니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

그누보드 list.php 질문입니다. 정보

그누보드 list.php 질문입니다.

본문

while ($row = sql_fetch_array($result))

위와 같은 구문이 있는데요...


보통 while는 ($row <= 10)
이런식으로 써야되는것 아닌가요? 어떻게 위와같은 구문이 나오는지...

게다가

while ($row = 10)

이런식으로하면 어김없이 폭주 =ㅅ=;




우째서 저런식으로 구문이 되는건가요?

덧붙여 rss 에서도
for ($i=0; $row=sql_fetch_array($result); $i++) {
이런식으로...


기묘한 php 의 세계ㅠ


아, 그리고 반복구문이 실행될때만 어떤 구문이 나오게 할 수는 없나요?

예를들어
1,2,3,4,5,6,7,8,9,10

이런식으로 마지막에는 , 가 안찍히게 -ㅅ-;

잘좀 부탁드릴께요 (굽신굽신)
  • 복사

댓글 전체

while 문의 조건속성을 이용한 구문입니다.

while(1){ echo "무한반복"; } 이 소스는 무한반복 크리를 태웁니다.

true(참)냐 false(거짓)냐로 조건을 태우는데 0 이외의 값은 전부 true로 간주하는 속성을 이용해서 쓰는 구문입니다.

sql_fetch_array는 그누개발자님이 작성하신 사용자 정의 함수이고,
php본 함수는 mysql_fetch_array인데, 이 함수는 array를 반환하고 내부데이터 포인터를 앞으로 이동시킵니다.

즉 result의 값이 없을때까지 포인터를 이동하면서 계속적으로 array를 $row에 반환시켜주므로 true가 떨어지게 되는 것이며, 내부데이터 포인터가 끝에 다다러 더이상 반환시킬게 없는 지점에 이를때는 아무것도 반환 시키지못하므로 false가 되는 것이죠.

1,2,3,4,5,6,7,8,9,10 에 관한 것은..
반복문 안에 조건문을 하나 넣어주면 됩니다.

ex)

$i = 1;
while($i <11){

  echo $i;
  if($i == 10) break; // $i의 값이 10과 같다면 현재의 while문을 빠져 나와라
  else ","; //$i의 값이 10일 경우 위 if문 조건에 의하여 while문을 빠져나가므로 현재 구문은 타지 않게 됨
  $i++;

}
© SIRSOFT
현재 페이지 제일 처음으로