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 에서 저렇게도 가능하도록 선언을 해준 겁니다.
답변을 작성하시기 전에 로그인 해주세요.