테스트 사이트 - 개발 중인 베타 버전입니다

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

소수리꼬 9개월 전 조회 1,647

</p>

<p>$rdate = "25-01-23"; // 회원입력 값</p>

<p>$loop  ="3"; // 회원입력 값</p>

<p> </p>

<p>$z = 0;

for ($i=0;$i<$loop;$i++) {</p>

<p>        $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")); // 저장일자

        }</p>

<p>        sql_query (" insert into $aaa_table set reg_date  = '$rdateadd ' ");</p>

<p>}</p>

<p> </p>

<p><span style="color:#d35400;"><strong>$startday = ????????;</strong></span></p>

<p>$endday  = $rdateadd;</p>

<p>sql_query (" insert into $bbb_table set first_day  = '<span style="color:#d35400;"><strong>$startday'</strong></span>, last_day  = '$endday ' ");</p>

<p>

 

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

유저가 $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개

채택된 답변
+20 포인트
9개월 전

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

소수리꼬
9개월 전
감사합니다...

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

9개월 전

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

소수리꼬
9개월 전
답변 감사합니다.

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

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

로그인