일주일마다 다른 변수값 지정 채택완료
DB에 저장을 시작하는
첫째주 월~금요일 까지는 $data71
둘째주 월~금요일 까지는 $data72
셋째주 월~금요일 까지는 $data73
넷째주 월~금요일 까지는 $data71
다섯째주 월~금요일 까지는 $data72
여섯째주 월~금요일 까지는 $data73
이런식으로 반복되게 들어 가고
토요일, 일요일, 공휴일 에는 $data77이
$in_time 변수에 들어가게 하고 싶습니다
아래 코드대로 하면 될까요?
</p>
<p>$public_api_key = 'abcd1234'; // 공공데이터 포털 인증키</p>
<p>
$today = date('Y-m-d');
$week_day = date('w', strtotime($today)); </p>
<p>if ($week_day >= 1 && $week_day <= 5) { // 월~금요일
$week_num = floor(($week_day - 1) / 7) % 3;
$in_time = ${'data7'.($week_num+1)};
} else { // 토/일, 공휴일
$in_time = $data77;
}</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
8개월 전
</p>
<p>$today = date('Y-m-d');</p>
<p>$week_day = date('w', strtotime($today));</p>
<p>if ($week_day >= 1 && $week_day <= 5) { // 월~금요일</p>
<p> $term = (strtotime(date('Y-m-d')) - strtotime("2025-04-21")) / 86400;</p>
<p> $week_num = floor($term / 7) % 3 + 1;</p>
<p> $in_time = ${'data7'.($week_num+1)};</p>
<p>} else { // 토/일, 공휴일</p>
<p> $in_time = $data77;</p>
<p>}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
은빛여전사
8개월 전
댓글을 작성하려면 로그인이 필요합니다.
8개월 전
일단 위 코드론 몇주차인지 채크가 불가할것 같아요. 아래 코드로 해보시겠어요?
</p>
<p>$public_api_key = 'abcd1234';
$today = date('Y-m-d');
$week_day = date('w', strtotime($today)); // 0 (일) ~ 6 (토)</p>
<p>// 이번 달 1일의 날짜
$month_start = date('Y-m-01');
$month_start_time = strtotime($month_start);</p>
<p>// 1일이 포함된 주의 월요일 (달의 1주차 시작 기준)
$month_first_monday = strtotime("monday this week", $month_start_time);
if (date('j', $month_start_time) <= 7 && date('w', $month_start_time) != 1) {
$month_first_monday = strtotime("last monday", $month_start_time);
}</p>
<p>// 오늘 날짜 기준 주차 계산
$today_time = strtotime($today);
$diff_days = floor(($today_time - $month_first_monday) / (60 * 60 * 24));
$week_of_month = floor($diff_days / 7) + 1;</p>
<p>// 요일이 월~금이면 → 패턴대로
if ($week_day >= 1 && $week_day <= 5) {
$pattern = [1 => 'data71', 2 => 'data72', 3 => 'data73', 4 => 'data71', 5 => 'data72', 6 => 'data73'];
$week_key = $week_of_month % 6 == 0 ? 6 : $week_of_month;
$key = $pattern[$week_key];
$in_time = $$key;
} else {
// 토요일(6), 일요일(0)
$in_time = $data77;
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
은빛여전사
8개월 전
위 소스는 매달 1주차가 data71 이 되는건가요?
월 상관없이 1년 내내 매주 일주일마다 data71, data72, data73 3교대로 돌아가야 합니다
월 상관없이 1년 내내 매주 일주일마다 data71, data72, data73 3교대로 돌아가야 합니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택
그리고 계속 3주차마다 반복이고요
감사합니다