정의 및 사용 방법
- PHP 버전
- 4.3+
mb_strtolower() 함수는
주어진 문자열을 모두 소문자로 변환해서 반환합니다.
멀티바이트로된 문자열도 지원합니다.
언어별 차이를 일일이 고려하지 않고 문자열 비교나 데이터 정규화와 같은 작업에서 주로 사용됩니다.
특징
- 모든 알파벳의 대문자를 소문자로 변환합니다.
- 이 함수는 ASCII 범위의 알파벳 대문자(a~z)와 ASCII 범위를 벗어난 알파벳 대문자(예: ä, ö, ü, é)도 소문자로 변환합니다.
mb_strtolower()함수는strtolower()함수의 멀티바이트 지원 버전입니다.
'ASCII 범위의 알파벳 대문자(A~Z)'는 흔히 말하는 영어 대문자이며, 알파벳 A부터 Z까지 총 26글자(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)를 의미합니다. ASCII 코드 범위에 배정되어 있습니다.
기본 예제
/* 일반 ASCII 알파벳 대문자를 소문자로 변환 */
$original_string = 'Hello, World!';
$lowercase_string = mb_strtolower($original_string);
echo $lowercase_string; // 출력: 'hello, world!'
/* 멀티바이트 알파벳 대문자를 포함한 독일어를 소문자로 변환 */
$utf8_string = 'Hallo, SCHÖN dich zu sehen!';
$lowercase_utf8 = mb_strtolower($utf8_string, 'UTF-8');
echo $lowercase_utf8; // 출력: 'hallo, schön dich zu sehen!'
구문
mb_strtolower(string $string, ?string $encoding = null): string
매개변수
$string |
소문자로 변환할 문자열입니다. |
|---|---|
$encoding |
옵션. 문자열의 인코딩을 지정합니다.
기본값은 null이며, 생략하거나 null을 전달하면 내부 문자 인코딩 값이 사용됩니다.
|
반환 값
인자로 전달한 $string 내의 모든 알파벳의 대문자를 소문자로 변환하고 나머지는 그대로 유지한 새로운 문자열을 반환합니다.
반환만 하기 때문에 주어진 원본 문자열은 변경되지 않습니다.
변경 이력
| 버전 | 설명 |
|---|---|
| 8.3.0 | 그리스어 알파벳 시그마(∑)에 대한 조건부 변환 규칙이 적용되었습니다. 단어의 마지막에 위치한 대문자 시그마(∑)를 소문자로 변환할 때, 일반적인 소문자(σ)가 아닌 단어 끝에 오는 종결 시그마(ς)로 정확하게 변환합니다. |
예제
mb_strtolower() 함수는 문자열 비교나 데이터 정규화 작업에서 사용되는 경우가 많습니다. 특히 영어뿐만 아니라, 다국어나 특정 언어의 문자가 포함된 문자열을 다뤄야 할 때 유용합니다.
여기에서는 문자열 비교에 관한 예제를 살펴보겠습니다.
// 사용자 입력에서 키워드 비교를 위해 소문자로 통일
$user_input = 'SCHÖN';
$keyword = 'Schön';
// 대소문자 구분 없이 비교
if (mb_strtolower($user_input, 'UTF-8') === mb_strtolower($keyword, 'UTF-8')) {
echo '키워드가 일치합니다.';
} else {
echo '키워드가 일치하지 않습니다.';
}
// 출력: '키워드가 일치합니다.'
이 예제처럼 mb_strtolower() 함수는 혹시 모를 특정 언어가 포함되어 있는 키워드 비교 등을 할 때 매우 유용합니다. 특히 ASCII 문자만으로 처리할 수 없는, 다국어 또는 특정 언어의 문자가 포함된 문자열을 소문자로 통일해야 할 때 유용합니다.