홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
봄(Spring), 여름(Summer), 가을(Autumn), 겨울(Winter) 계절 구하기
11년 전
봄(Spring) 여름(Summer) 가을(Autumn) 겨울(Winter) 계절 구하기


대충 봄은 3월, 4월, 5월.
여름은 6월, 7월, 8월.
가을은 9월, 10월, 11월.
겨울은 12월, 1월, 2월로 계절을 나누고 있습니다.


각 달이 어느 계절에 속했는지 구하는 방법을 알아볼까요?

지정한 달을 12로 나눈 나머지를 구합니다. 12가 0이 되었죠?

1월 %12 =  1
2월 %12 =  2
3월 %12 =  3
4월 %12 =  4
5월 %12 =  5
6월 %12 =  6
7월 %12 =  7
8월 %12 =  8
9월 %12 =  9
10월 %12 = 10
11월 %12 = 11
12월 %12 =  0

이제 나머지값을 3으로 나누고 소수 이하는 버립니다.

0 / 3 = 0.000000 = 0
1 / 3 = 0.333333 = 0
2 / 3 = 0.666667 = 0
3 / 3 = 1.000000 = 1
4 / 3 = 1.333333 = 1
5 / 3 = 1.666667 = 1
6 / 3 = 2.000000 = 2
7 / 3 = 2.333333 = 2
8 / 3 = 2.666667 = 2
9 / 3 = 3.000000 = 3
10 / 3 = 3.333333 = 3
11 / 3 = 3.666667 = 3

0부터 3까지의 값으로 정리되는군요. 이 값이 곧 계절값입니다.

0은 겨울
1은 봄
2는 여름
3은 가을

PHP 코드로 볼까요?

$month = 3;
$season = array('겨울','봄','여름','가을');
$where = (int)$month%12/3; // 1
echo $season[$where]; // "봄" 출력

계절 구하는 부분을 응용 차원에서 한 줄로 해볼까요?

$월 = 7;
$계절 = reset(array_slice(array('겨울','봄','여름','가을'),(int)$월%12/3));
echo $계절; // "여름" 출력

복잡해 보이나요? 설명 추가합니다.
array_slice()는 substr() 함수와 비슷합니다.
시작위치와 크기를 지정해 그 값을 가져올 수 있지요.

echo substr('BiHon & M2',0,5); // "BiHon" 출력

$계절 = array('겨울','봄','여름','가을');
$예1 = array_slice($계절,0,1); // 겨울
$예2 = array_slice($계절,2,1); // 여름
$예3 = array_slice($계절,2,2); // 여름, 가을
$예4 = array_slice($계절,-1); // 가을
$예5 = array_slice($계절,1,-1); // 봄, 여름

예를 보면 알 수 있겠죠? ^^);
월 값을 가공 0~3까지의 값을 구해 그 위치부터의 배열을 구합니다.
이때 배열 형태라 처음 값을 reset()을 이용해 꺼내줍니다.
reset() = http://php.net/manual/kr/function.reset.php

어때요? 간단하죠?


그러면 date() 함수를 이용해 현 시점의 계절을 알아볼까요?

echo reset(array_slice(array('겨울','봄','여름','가을'),(int)date('n')%12/3)); // "겨울" 출력

문자열 함수를 이용. 효율적인 면에서 제일 빠릅니다.

echo substr('WinterSpringSummerAutumn',(int)(date('n')%12/3)*6,6); // "Winter" 출력
추천추천 : 369 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.