sql_fetch_array 개념이 헷갈리네요 ㅠ

sql_fetch_array 개념이 헷갈리네요 ㅠ

QA

sql_fetch_array 개념이 헷갈리네요 ㅠ

본문

아래 1번과 2번은 같은 결과를 내죠? 그런데 2번에서 왜 $i=0, $i++ 이 어떻게 쓰이는건지 문법 해석이 안됩니다.

일반적으로 알고 있는 for 문은 ($i=0; $i<10; $i++) 이런식인데.. 저걸 어떻게 해석해야 하는건지.. ㅠㅠ

 

1.

$sql = "select * from table"; 
$result = mysql_query($sql); 
while($row = sql_fetch_array($result)){ 
     print_r($row);

 

2.

$sql = "select * from table"; 
$result = mysql_query($sql); 

for ($i=0; $row=sql_fetch_array($result); $i++) {

     print_r($row);
}

이 질문에 댓글 쓰기 :

답변 1

sql_fetch_array 라는 함수는 query의 결과가 2차원 배열인 것을

순차적으로 1차원 배열로 전달해주는 역할을 합니다.

1.에서는 while 문에서 배열이 다 전달될때까지 순환하는 구조이고

2.에서는 $i 는 계속 증가하지만, 배열이 다 전달될때까지만 순환하도록 된 것이죠

중간에 조건에 $i 가 있어야할 것 같지만,

php 에서 저렇게도 가능하도록 선언을 해준 겁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 6
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT