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개
채택된 답변
+20 포인트
eyekiss
7년 전
sql_fetch_array 라는 함수는 query의 결과가 2차원 배열인 것을
순차적으로 1차원 배열로 전달해주는 역할을 합니다.
1.에서는 while 문에서 배열이 다 전달될때까지 순환하는 구조이고
2.에서는 $i 는 계속 증가하지만, 배열이 다 전달될때까지만 순환하도록 된 것이죠
중간에 조건에 $i 가 있어야할 것 같지만,
php 에서 저렇게도 가능하도록 선언을 해준 겁니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 4개
7년 전
7년 전
그럼 $i 를 쓸 일이 없다면 안써도 되나요?
for (;$row=sql_fetch_array($result);;) {
}
for (;$row=sql_fetch_array($result);;) {
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$row[$i] 처럼 쓰이는것도 아니고