라이브러리

[PHP] grapheme_strlen - 문자소 단위로 문자열 길이를 가져옵니다.




Grapheme_strlen() 함수란?

PHP 7.4 버전부터 제공되는 `grapheme_strlen()` 함수는 문자열의 글리프 길이를 반환합니다. 글리프는 한글의 한 글자에 해당하는 단위로, 한글은 2글리프로 구성되어 있습니다.

기존의 strlen() 함수와의 차이점

`strlen()` 함수는 문자열의 바이트 길이를 반환합니다. 예를 들어, 한글은 2바이트로 구성되어 있기 때문에 `strlen()` 함수로 한글의 길이를 계산하면 2로 나옵니다. 하지만 `grapheme_strlen()` 함수는 글리프 길이를 반환하므로, 한글의 길이를 정확하게 계산할 수 있습니다.

예제

#hostingforum.kr
php

// strlen() 함수로 한글의 길이를 계산

$text = "안녕하세요";

echo "strlen(): " . strlen($text) . "
"; // 6



// grapheme_strlen() 함수로 한글의 길이를 계산

echo "grapheme_strlen(): " . grapheme_strlen($text) . "
"; // 5



위 예제에서 `strlen()` 함수로 한글의 길이를 계산한 결과는 6이지만, `grapheme_strlen()` 함수로 한글의 길이를 계산한 결과는 5입니다. 이는 한글이 2글리프로 구성되어 있기 때문입니다.

글리프 길이와 바이트 길이의 차이

#hostingforum.kr
php

// 한글의 바이트 길이

$text = "안녕하세요";

echo "바이트 길이: " . strlen($text) . "
"; // 6



// 한글의 글리프 길이

echo "글리프 길이: " . grapheme_strlen($text) . "
"; // 5



위 예제에서 한글의 바이트 길이는 6이지만, 한글의 글리프 길이는 5입니다. 이는 한글이 2바이트로 구성되어 있기 때문입니다.

글리프 길이와 문자열의 길이의 차이

#hostingforum.kr
php

// 한글의 글리프 길이와 문자열의 길이

$text = "안녕하세요";

echo "글리프 길이: " . grapheme_strlen($text) . "
"; // 5

echo "문자열의 길이: " . strlen($text) . "
"; // 6



위 예제에서 한글의 글리프 길이는 5이지만, 문자열의 길이는 6입니다. 이는 한글이 2바이트로 구성되어 있기 때문입니다.

결론

`grapheme_strlen()` 함수는 문자열의 글리프 길이를 반환하며, 한글의 길이를 정확하게 계산할 수 있습니다. 기존의 `strlen()` 함수는 문자열의 바이트 길이를 반환하므로, 한글의 길이를 계산할 때는 `grapheme_strlen()` 함수를 사용하는 것이 좋습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 510 페이지

검색

게시물 검색