정의 및 사용 방법
- PHP 버전
- 5.3+
lcfirst() 함수는
주어진 문자열의 첫 문자를 소문자로 변환하고 나머지는 그대로 유지해서 반환합니다.
특징
- 이 함수는 문자열의 첫 번째 문자가 ASCII 범위의 알파벳 대문자(A~Z)인 경우에만 해당 문자를 대문자로 변환합니다.
- 문자열의 첫 번째 문자가 ASCII 범위를 벗어난 알파벳 대문자(예: Ä, Ð, Ñ, Ý)인 경우에는 변환되지 않고 그대로 유지됩니다.
'ASCII 범위의 알파벳 대문자(A~Z)'는 흔히 말하는 영어 대문자이며, 알파벳 A부터 Z까지 총 26글자(A, B D, D, E,F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)를 의미합니다. ASCII 코드 범위에 배정되어 있습니다.
기본 예제
$original_string_1 = 'Hello, World!';
$lcfirst_string_1 = lcfirst($original_string_1);
echo $lcfirst_string_1; // 출력: 'hello, World!'
$original_string_2 = 'HELLO';
$lcfirst_string_2 = lcfirst($original_string_2);
echo $lcfirst_string_2; // 출력: 'hELLO'
주어진 문자열을 모두 소문자로 변환하려면 strtolower() 함수를 사용하세요.
구문
lcfirst(string $string): string
매개변수
$string |
주어진 문자열입니다. |
|---|
반환 값
주어진 문자열의 첫 문자(ASCII 범위의 알파벳 대문자)를 소문자로 변환하고 나머지는 그대로 유지한 새로운 문자열을 반환합니다.
반환만 하기 때문에 주어진 원본 문자열은 변경되지 않습니다.
변경 이력
| 버전 | 설명 |
|---|---|
| 8.2.0 | PHP 8.2.0 이전에는 setlocale() 설정에 따라 일부 문자의 대소문자 변환이 달라질 수 있었습니다. PHP 8.2.0부터는 오직 ASCII 문자만 변환되며, 멀티바이트 문자는 변환되지 않습니다. |
주의할 점
lcfirst() 함수를 사용할 때에는 다음의 내용을 참고하세요.
다국어 지원 문제
lcfirst() 함수는 기본적으로 ASCII 문자를 처리합니다. 그래서 영어를 비롯한 일부 언어에서는 제대로 동작하지만, 유니코드를 사용하는 독일어의 Ä 같은 문자열에서는 예상과 다른 결과가 나올 수 있습니다.
ASCII(American Standard Code for Information Interchange) 문자는 영어 알파벳, 숫자, 일부 특수 기호 등의 문자들을 포함하고 있습니다.
ASCII 범위의 알파벳 소문자만이 아닌 알파벳 대문자를 소문자로 처리하려면 mb_lcfirst() 함수(PHP 8.4에서 도입)의 사용을 사용을 고려해 볼 수 있습니다.
$utf8_string = 'Äpfel und birnen';
// PHP 8.4에서 도입된 mb_lcfirst()
$capitalized_utf8 = mb_lcfirst($utf8_string, 'UTF-8'); // 대문자 Ä가 대문자 소문자 ä로 변환됨
echo $capitalized_utf8; // 출력: 'äpfel und birnen'
// lcfirst()
$capitalized = lcfirst($utf8_string); // 예상과 다른 결과
echo $capitalized; // 출력: 'Äpfel und birnen'
원본 문자열 변경 없음
lcfirst() 함수는 입력된 문자열을 직접 변경하지 않고, 변환된 새로운 문자열을 반환합니다. 따라서 원본 문자열을 변경하고 싶다면, 반환된 값을 다시 변수에 할당해야 합니다.
$text = 'Hello';
lcfirst($text);
echo $text; // 출력: 'Hello' (원본 문자열은 변경되지 않음)
$text = lcfirst($text);
echo $text; // 출력: 'hello'
참고문헌
같이 보기
- PHP mb_lcfirst() 함수 – lcfirst()의 멀티바이트 지원 버전
- PHP ucfirst() 함수 – 문자열의 첫 번째 문자를 대문자로 변환
- PHP mb_ucfirst() 함수 – ucfirst()의 멀티바이트 지원 버전
- PHP strtoupper() 함수 – 문자열을 대문자로 변환
- PHP mb_strtoupper() 함수 – strtoupper()의 멀티바이트 지원 버전
- PHP strtolower() 함수 – 문자열을 소문자로 변환
- PHP mb_strtolower() 함수 – strtolower()의 멀티바이트 지원 버전
- CSS text-transform 속성 – 텍스트의 대소문자를 변환