정의 및 사용 방법
- PHP 버전
- 4.3+
mb_strtoupper() 함수는
주어진 문자열을 모두 대문자로 변환해서 반환합니다.
멀티바이트로된 문자열도 지원합니다.
언어별 차이를 일일이 고려하지 않고 문자열 비교나 데이터 정규화와 같은 작업에서 주로 사용됩니다.
특징
- 모든 알파벳의 소문자를 대문자로 변환합니다.
- 이 함수는 ASCII 범위의 알파벳 소문자(a~z)와 ASCII 범위를 벗어난 알파벳 소문자(예: ä, ö, ü, é)도 대문자로 변환합니다.
mb_strtoupper()함수는strtoupper()함수의 멀티바이트 지원 버전입니다.
'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!';
$uppercase_string = mb_strtoupper($original_string);
echo $uppercase_string; // 출력: 'HELLO, WORLD!'
/* 멀티바이트 알파벳 소문자를 포함한 독일어를 대문자로 변환 */
$utf8_string = 'Hallo, schön dich zu sehen!';
$uppercase_utf8 = mb_strtoupper($utf8_string, 'UTF-8');
echo $uppercase_utf8; // 출력: 'HALLO, SCHÖN DICH ZU SEHEN!'
구문
mb_strtoupper(string $string, ?string $encoding = null): string
매개변수
$string |
대문자로 변환할 문자열입니다. |
|---|---|
$encoding |
옵션. 문자열의 인코딩을 지정합니다.
기본값은 null이며, 생략하거나 null을 전달하면 내부 문자 인코딩 값이 사용됩니다.
|
반환 값
인자로 전달한 $string 내의 모든 알파벳의 소문자를 대문자로 변환하고 나머지는 그대로 유지한 새로운 문자열을 반환합니다.
반환만 하기 때문에 주어진 원본 문자열은 변경되지 않습니다.
예제
mb_strtoupper() 함수는문자열 비교나 데이터 정규화 작업에서 사용되는 경우가 많습니다. 특히 영어뿐만 아니라, 다국어나 특정 언어의 문자가 포함된 문자열을 다뤄야 할 때 유용합니다.
여기에서는 문자열 비교에 관한 예제를 살펴보겠습니다.
// 사용자 입력에서 키워드 비교를 위해 대문자로 통일
$user_input = 'Schön';
$keyword = 'schön';
// 대소문자 구분 없이 비교
if (mb_strtoupper($user_input, 'UTF-8') === mb_strtoupper($keyword, 'UTF-8')) {
echo '키워드가 일치합니다.';
} else {
echo '키워드가 일치하지 않습니다.';
}
// 출력: '키워드가 일치합니다.'
이 예제처럼 mb_strtoupper() 함수는 혹시 모를 특정 언어가 포함되어 있는 키워드 비교 등을 할 때 매우 유용합니다. 특히 ASCII 문자만으로 처리할 수 없는, 다국어 또는 특정 언어의 문자가 포함된 문자열을 대문자로 통일해야 할 때 유용합니다.