문자열의 길이 찾기

PHP:
문자열의 길이 찾기

How to: (어떻게 하죠?)

PHP에서 문자열의 길이를 찾으려면 strlen() 함수를 사용하세요. 간단하죠:

<?php
$str = "안녕하세요";
echo strlen($str); // 출력: 15
?>

하지만 주의하세요, 이 예제의 출력은 문자 수가 아니라 바이트 수입니다. mb_strlen() 함수를 사용하면 더 정확한 문자 수를 얻을 수 있어요:

<?php
$str = "안녕하세요";
echo mb_strlen($str, 'UTF-8'); // 출력: 5
?>

Deep Dive (심층 분석)

strlen() 함수는 PHP 4.0.0부터 사용할 수 있습니다. 문자열의 바이트 수를 반환하지만, 멀티바이트 문자열(예: 한글)에 대해서는 잘못된 값을 줄 수 있습니다.

mb_strlen() 함수는 멀티바이트 문자열에 대한 정확한 길이를 제공합니다. 이 함수는 mbstring 확장에 포함되어 있으며, 이 확장은 다국어 웹 애플리케이션을 지원하기 위해 고안되었습니다.

기억해야 할 또 다른 중요한 부분은 문자 인코딩입니다. mb_strlen()에서 올바른 길이를 얻으려면 사용하는 문자열의 인코딩을 정확히 명시해야 합니다.

때로는 utf8_decode()를 사용하여 문자열을 ISO-8859-1로 변환한 다음 strlen()을 사용할 수도 있지만, 이 방법은 권장되지 않습니다. 왜냐하면 데이터 손실이 발생할 수 있기 때문입니다.

<?php
$str = "안녕하세요";
echo strlen(utf8_decode($str)); // 사용하지 말 것
?>

See Also (추가 정보)