티스토리 뷰
$month = $_POST['month'];
$year = $_POST['year'];
// Ensure month is always two digits (e.g., 01, 02, ... 12)
$plan_month = $year . '-' . str_pad($month, 2, '0', STR_PAD_LEFT);
PHP str_pad() 함수: str_pad($month, 2, '0', STR_PAD_LEFT) 쉽게 이해하기
PHP를 처음 배우는 분들이라면 str_pad() 함수가 조금 낯설 수 있습니다. 이 글에서 str_pad($month, 2, '0', STR_PAD_LEFT)라는 코드를 쉽게 설명해 드릴게요. 이 함수가 무엇을 하는지, 그리고 왜 사용하는지 차근차근 알아보겠습니다.
str_pad() 함수란?
str_pad()는 PHP에서 문자열의 길이를 원하는 만큼 늘리고, 그 빈 공간에 다른 문자(또는 공백)를 채우는 함수입니다. 여기서 중요한 것은 어디에 그 문자를 추가할지 정할 수 있다는 것입니다.
기본적인 str_pad() 함수의 구조는 다음과 같습니다:
str_pad(문자열, 원하는 길이, 채울 문자, 채울 방향);
각각의 매개변수가 무엇을 의미하는지 한번 살펴볼까요?
문자열: 길이를 늘리고 싶은 원래 문자열.
원하는 길이: 최종적으로 만들고 싶은 문자열의 길이.
채울 문자: 부족한 자리에 넣을 문자. (대부분 '0' 또는 공백을 사용하지만, 원하는 문자도 넣을 수 있습니다.)
채울 방향: 채운 문자가 문자열의 앞에 올지, 뒤에 올지, 또는 양쪽에 올지 정할 수 있습니다.
예제를 통해 알아보기
이제 str_pad($month, 2, '0', STR_PAD_LEFT) 코드를 이해해 봅시다. 이 코드는 월(month)을 2자리로 만들기 위해 사용됩니다. 예를 들어, 1월이라는 숫자를 다루고 있을 때, 우리가 원하는 것은 '01'로 만드는 것입니다.
$plan_month = $year . '-' . str_pad($month, 2, '0', STR_PAD_LEFT);
$month: 여기서 $month는 숫자입니다. 예를 들어 1월이면 1이라는 값이 들어가 있습니다.
str_pad($month, 2, '0', STR_PAD_LEFT):
$month: 1이라는 숫자를 2자리로 만들려고 합니다.
2: 최종적으로 만들려는 문자열의 길이가 2라는 의미입니다. 즉, 1이 2자리가 되어야 하므로 '01'로 만들려는 거죠.
'0': 만약 문자열이 부족하면 앞에 0을 채워넣겠다는 뜻입니다.
STR_PAD_LEFT: 문자열의 왼쪽에 0을 채우겠다는 의미입니다. 즉, 앞에 0을 넣어서 '01'로 만들어 줍니다.
$month = 1;
echo str_pad($month, 2, '0', STR_PAD_LEFT); // 결과: '01'
$month가 1이면 str_pad() 함수는 이를 두 자리로 맞추기 위해 앞에 '0'을 추가합니다. 그래서 결과는 '01'이 되는 거죠.
만약 $month가 10이라면 이미 두 자리이므로 추가적인 변경이 필요하지 않습니다.
$month = 10;
echo str_pad($month, 2, '0', STR_PAD_LEFT); // 결과: '10'
이제 $plan_month 변수는 2023-01 또는 2023-10 같은 형식으로 만들어집니다. 즉, $year와 월(month)이 적절한 형식으로 결합되어 원하는 YYYY-MM 형식의 문자열을 얻게 되는 것입니다.
왜 사용하나요?
보통 월을 표시할 때, 1월을 1로 표시하는 대신 01로 표시하는 것이 일반적입니다. 이것은 날짜 형식을 맞추고, 데이터베이스나 API에서 통일된 형식을 사용하기 위해서 중요한데요. 이때 str_pad()를 사용하면 쉽게 원하는 형식으로 변환할 수 있습니다.
PHP의 str_pad() 함수는 문자열의 길이를 조정하고, 필요한 경우 원하는 문자로 채울 수 있는 아주 유용한 도구입니다. 특히 날짜나 숫자 형식을 맞출 때 자주 사용되며, 코드가 간결해지고 가독성도 좋아집니다.
str_pad($month, 2, '0', STR_PAD_LEFT) 코드는 월을 두 자리로 맞추기 위해 사용되는 아주 좋은 예시입니다. 처음엔 조금 어려워 보일 수 있지만, 그 역할을 이해하면 아주 강력한 도구가 될 수 있습니다.
'IT tech Coding > php' 카테고리의 다른 글
tr행의 onclick 할때 특정 컬럼은 이벤트를 달리 하려면? (0) | 2024.09.29 |
---|---|
PHP 7.3에서는 공식적으로 PhpSpreadsheet 라이브러리를 사용할 수 없습니다. (0) | 2024.09.25 |
회계관련 프로그램 개발시 공급가액, 부가세, 금액에 대해 소수점 문제 연구 (0) | 2024.09.05 |
한달이내를 sql로 검색하는 php 코드 만들기 (0) | 2024.09.03 |
PHP에서 정확한 다음 달을 계산하는 방법: strtotime 함수의 함정과 해결 방법 (0) | 2024.08.30 |
- Total
- Today
- Yesterday
- 엑셀보호
- 효율적코딩방법
- #파이썬패키징
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 오토핫키가이드
- 구글드라이브API
- 테크에능한여성
- 오블완
- json파일편하게보는법
- Bootstrap 5
- 티스토리챌린지
- chatGPT3.5파이썬버전
- isset을 적용해야 하는 이유
- 코딩튜토리얼
- 코딩효율성
- 엑셀입력보호
- json파일형태보기
- 뫄프로그래밍
- 도면자동생성
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 캐드자동작도
- sql문장 날짜계산
- 파이썬코드줄바꿈방법
- 엑셀셀보호
- 프로그래머생활
- #InstallForge
- 스크립트작성기초
- #프로그램설치
- General error: 2031
- ajax오류메시지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |