요일을 받아와서 실행시키는 조건문좀 봐주세요
본문
요일을 받아서 입력하는 루틴을 짜고 있습니다.
기본적으로 토,일요일은 실행을 안합니다.
따라서
이렇게 짰습니다. 잘 되는데요
이러면 토,일을 제외한 매일(월~금) 실행이 됩니다. 요일을 구분해서 실행을 해야하므로
이런 폼을 넣었습니다. 그래서 입력하는 쪽에
이런 루틴을 넣었습니다.
기본적으로 토,일요일은 실행을 안합니다.
따라서
$dayOfWeek = $startDate->format('N');
if ($dayOfWeek < 6) {
실행
}
이렇게 짰습니다. 잘 되는데요
이러면 토,일을 제외한 매일(월~금) 실행이 됩니다. 요일을 구분해서 실행을 해야하므로
<input type="checkbox" name="yoil[]" value="0" >모든요일
<input type="checkbox" name="yoil[]" value="1" >월
<input type="checkbox" name="yoil[]" value="2" >화
<input type="checkbox" name="yoil[]" value="3" >수
<input type="checkbox" name="yoil[]" value="4" >목
<input type="checkbox" name="yoil[]" value="5" >금
이런 폼을 넣었습니다. 그래서 입력하는 쪽에
$selected_days = array_filter($_POST['yoil'], function($day) {
return is_numeric($day);
});
$selected_days_string = implode(',', $selected_days);
이런 루틴을 넣었습니다.
그러니까
월, 수, 금을 체크하면 1,3,5로 잘 들어옵니다.
여기까지는 잘 되었는데요
이것을 위에 쓴 실행루틴의 조건문에 넣으려니 많이 어렵습니다.
모든요일을 선택하면 월~금까지 실행되고
특정요일(중복가능)을 선택하면
해당 요일만 실행될수 있도록
할 수있을까요?
완전 헷갈리고 잘 안되네요
답변 1
저장된 값을 배열에 넣구요..
in_array 함수로 해당 값이 있는지 확인해서
있으면 실행하면 됩니다.
ps. 원래 일요일이 0 값인데.. 모든 요일을 0 으로하면 혼동의 여지가 있습니다.
답변을 작성하시기 전에 로그인 해주세요.