채택완료

while문 궁금한점..

2017-11-21 (화) 13:45:53 2,363
Copy
$start = date("Y-m-01"); //2017-11-01

$end = date("Y-m-d"); //2017-11-21

 

while ($start <= $end) {

 echo $start;

}

하면 무한루프가도는데 무슨이유때문인지 모르겠습니다..메뉴얼을봐도ㅠㅠㅠ

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

위의 로직으로만 보면

whiile문이 무조건 참 입니다.

while 안에서 시작일자를 변경해서 증가시켜줘야 해결이 될겁니다.

답변에 대한 댓글 1개

감사합니다.
2017-11-21 (화) 14:12:03
Copy
$start = date("Y-m-01"); //2017-11-01
$end = date("Y-m-d"); //2017-11-21
 
while ($start <= $end) {

//$start가 $end보다 작거나 같으면 반복

//$start가 $end보다 크거나 같으면 반복문 종료

 

 echo $start."<br>";
 $start++;
}

이런거 말씀하시는 건가요?

무한루프를 도는이유는

$start의 시작값이 반복적으로 증감되어 $end와 같을때 까지 반복합니다

그런데 $start++; 증감변수가 없으므로 계속 반복을 하여도 $start와 $end가 같지 않으므로 무한루프를 돌게 되는 것입니다

답변에 대한 댓글 1개

감사합니다 맨날 for랑 foreach만 하다가 while로 돌릴려니간
while은 또다르네요 ㅎㅎ

답변을 작성하려면 로그인이 필요합니다.