date 반복문 질문입니다..

Copy
$start = date("Y")."01";
$end =  date("Y")."12";

for ($i=$start;$i<=$end;$i++) {
    echo $i;
}

 

날짜검색하고있는데
201701 ~ 201712 로 검색하면 문제가없는데

201601 ~ 201712 로 반복문이 돌면

201612에서 201701로 되어야하는데..
201613,201614,201615... 이런식으로되네요..

조건을 또줘야할까요?ㅠㅠ

|

답변 4개 / 댓글 1개

Copy
for($i = 0; $i < 12; $i++) {

    $month  = date("Y-m", strtotime("+{$i} month", time()));

}

Copy
$start = strtotime("2016" . "-01");
$end = strtotime("2017" . "-12");
while($start <= $end) {
  echo date("Ym", $start) . "<br>";
  $start = strtotime("+1 month", $start);
}

$start = '201601';
$end = '201712';

for ($i = substr($start, 0, 4); $i <= substr($end, 0, 4); $i++) {
    for ($j = 1; $j <= 12; $j++) {
        $k = sprintf('%02d', $j);
       
        if ($i . $k >= $start && $i . $k <= $end) {
            echo $i . $k . "<br />";
        }
    }
}

 

테스트 해 보지 않았습니다.

조건을 또 줘야 할것 같은데요...

 

1년 검색과 2년 검색으로 기간이 보이는데요...

 

답변에 대한 댓글 1개

맞아요 3년치도 검색이되어야하고 ㅋㅋ..
조건을 어떻게 줘야할지 모르겠어요.. continue로 하면될것같은데..
삽질중입니다 ㅠ.ㅠ

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