첫번째 값을 어떻게 구하나요? 고수님께 여쭙니다.

첫번째 값을 어떻게 구하나요? 고수님께 여쭙니다.

QA

첫번째 값을 어떻게 구하나요? 고수님께 여쭙니다.

본문


$rdate = "25-01-23"; // 회원입력 값
$loop  ="3"; // 회원입력 값
 
$z = 0;
for ($i=0;$i<$loop;$i++) {
        $rdateadd = date("Y-m-d", strtotime("{$rdate} +{$z} day"));
        while (!check_day($rdateadd, $wr_1, $arr_weekday) {
            $z++;
            $rdateadd = date("Y-m-d", strtotime("{$rdate} +{$z} day")); // 저장일자
        }
        sql_query (" insert into $aaa_table set reg_date  = '$rdateadd ' ");
}
 
$startday = ????????;
$endday  = $rdateadd;
sql_query (" insert into $bbb_table set first_day  = '$startday', last_day  = '$endday ' ");

 

위 코드는 고수님들 보시면 아시겠지만 그래도 설명을 드리자면...

유저가 $rdate 값과 $loop 값을 입력하게 되면 그 날짜를 기준으로 일자를 찾아 저장하는 코드 입니다.

즉 loop에 3를 입력하고 2025-01-23을 입력하면...

2025-01-23 ($z가 0) 을  check_day 함수의 조건을 돌려 날짜를 추출하고,

그다음에는 $z에 +1을 더하여 2025-01-24를 돌려 조건에 맞는 날짜를 추출....

뭐 이런식으로요... 모두다 조건에 맞는 다고 치면

2025-01-23를 저장하고 2015-01-24저장하고 2015-01-25저장하고 빠져 나옵니다.

 

check_exist 함수는 조건에 맞는 날짜를 추출하는 함수입니다.

3개의 조건 즉, 일요일이라든지 특정 일자를 제외하고 스킵해서 조건에 맞는 날짜를 추출하게 됩니다.

 

[질문]

루프를 다 돌고난 뒤, 첫일자와 마지막 일자를 찾고 싶습니다.

마지막 일자는 루프를 다 돌고난 $rdateadd 값으로 하면 될 꺼 같아요.

그런데 첫일자는 $z가 0일때 루프를 돌고난 $rdateadd 값이 될텐데요.

이 값을 어케 추출해야하는지 힌트좀 부탁드려요.

 

 

이 질문에 댓글 쓰기 :

답변 2

$z가 0일때면 $z++ 위에

if($z == 0) 해서 따로 변수를 하나 만드시고 원하시는 값을 저장하시면 되지 않으실까요?

for문을 돌릴 때 생성되는 일자를 배열로 저장합니다.
반복 완료 후 생성된 배열에서, 첫번째 값과, 마지막 값을 가져오시는 방법을 쓰셔도 될 듯 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 127,561 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT