mb_strlen()
함수의 정의 및 사용법
mb_strlen()
함수는
주어진 문자열의 길이를 숫자로 반환하는 함수입니다.
mb_strlen()
함수가 반환하는 문자열의 길이는 문자 개수입니다.
이 함수는 strlen()
함수와는 달리 멀티바이트 문자열을 지원하기 때문에 한글의 문자열 길이를 확인하는데 매우 유용합니다.
영어, 숫자 등은 1byte이지만, 한글이나 중국어등은 2byte입니다. 2byte이상의 바이트로 표현되는 것을 "multi-byte(멀티바이트)"라고 합니다.
mb_strlen()
함수의 형식은 다음과 같습니다.
구문
매개변수
$string |
길이를 측정하는 문자열입니다. |
---|---|
$encoding |
옵션. 문자열의 인코딩을 지정합니다.
|
반환 값
문자열의 문자 개수를 정수로 반환합니다. 멀티바이트 문자는 1로 계산됩니다.
주의할 점
mb_strlen()
함수를 사용할 때 매개변수에 따라 반환되는 값이 예상하는 것과는 다르다고 생각할 수 있습니다.
매개변수가 문자열이 아닌 boolean 타입일 경우
mb_strlen()
함수는 문자열이 아닌 부울(boolean) 타입의 매개변수에 대해서도 동작합니다.
true
는 문자열로 변환했을 때'1'
로, 문자의 개수는 1입니다.false
는 문자열로 변환했을 때 빈 문자열(''
)이므로, 문자의 개수는 0입니다.
매개변수가 문자열이 아닌 null
일 경우
mb_strlen()
함수는 문자열이 아닌 null
값의 매개변수에 대해서도 동작합니다.
null
은 문자열로 변환했을 때 빈 문자열(''
)이므로, 문자의 개수는 0입니다.
$encoding
의 값으로 null
사용 시 주의할 점
$encoding
의 값으로 null
은 PHP 8.0.0 버전부터 사용이 가능합니다. PHP 8.0.0 버전 이전에는 E_WARNING 수준의 오류가 생성됩니다.