이 3문장을 php로 표현하려면 어떻게 하나요?
본문
2015-08-13 (오늘)을 기준점 숫자 3000 이라 지정해 이 숫자를 변수 $day에 할당합니다.
이 변수 $day는 매일 1씩 증가합니다.
K라는 반복문은 26부터 시작해 $day까지 반복적으로 실행해 역순으로 정렬합니다.
세 번째 줄의 26부터 시작해 $day까지 반복적으로 실행한다 표현은 아래처럼 하는 걸로 압니다.
for ($cnt=26; $cnt<=$day; $cnt++) {
K라는 반복문
}
혹, 위 핑크색 굵은색 문장을 PHP로 표현하는 방법 좀 부탁드립니다.
답변 2
2015-08-13이라는 날짜는 지정되어야 할 것같네요.
14일이 되었을때도 오늘이 들어가면 $day의 날짜가 변경되지 않겠죠.
$startDate = new DateTime("2015-08-13"); // 지정된날짜
$nowDate = date("Y-m-d"); // 오늘날짜
$dateDiff = date_diff($startDate, $nowDate); // 지정된날짜와 오늘날짜의 차이
echo $dateDiff->days + 3000; // 위에서 구한 차이에 기준점숫자 3천을 더해서 출력
!-->
음 쉬우면서도 어렵네요
일단 기준점을 정해야겠지요
오늘이 기준점이던지 어제가 기준점이던지
일단은 기준점을 2015-01-01로 했다치면
$standardDay = "2015-01-01";
함수를 하나 만들어보겠습니다
function getDateNum($d) {
$_timestamp = array(86400, 3600, 60, 1);
$d = strtotime($d);
$minusDay = "0";
foreach($_timestamp as $key => $value) {
if($d <= (time() - $value) && empty($minusDay) && $key == 0) {
$minusDay = (int)((time() - $d)/$_timestamp[$key]);
}
}
Return $minusDay;
}
echo getDateNum($standDay);
이렇게 하면 오늘부터 1월1일이 며칠 전인지 나오게 됩니다
이렇게 나온 숫자를 3000에 더해주시면 됩니다
역으로 하실거면
for($cnt = $day; $cnt >= 26; $cnt--) {
}
머 이런식으로 하면 삼천몇부터해서 26까지 반복하겠지요