Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP IntlChar::getBlockCode() 함수 – 문자가 속한 유니코드 블록 확인하기

PHP의 IntlChar::getBlockCode() 함수는 주어진 값(val)이 속해 있는 유니코드 할당 블록(Unicode allocation block)을 조회하는 함수입니다. 유니코드에서는 전 세계의 문자와 기호를 성격에 따라 여러 블록으로 나누어 관리하는데, 이 함수를 활용하면 특정 문자가 어느 블록에 포함되는지 간단히 확인할 수 있습니다.

구문

IntlChar::getBlockCode(mixed $val): int

매개변수

  • val − 검사할 문자를 나타내는 정수(코드포인트) 또는 UTF-8로 인코딩된 단일 문자열입니다.

반환값

이 함수는 입력값 val에 해당하는 블록 코드 상수를 정수 형태로 반환합니다. 대표적인 블록 코드 상수는 다음과 같습니다.

  • IntlChar::BLOCK_CODE_BASIC_LATIN − 영문 알파벳 등이 포함된 기본 라틴 문자 블록

  • IntlChar::BLOCK_CODE_GREEK − 그리스 문자 블록

  • IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS − 눈사람(☃) 등 다양한 기호가 모여 있는 기타 기호 블록

예제

다음 예제는 서로 다른 문자들이 각각 어떤 유니코드 블록에 속하는지 확인하는 코드입니다.

<?php
    // 'A'는 기본 라틴(BASIC_LATIN) 블록에 속합니다.
    var_dump(IntlChar::getBlockCode("A") === IntlChar::BLOCK_CODE_BASIC_LATIN);
    echo "<br>";

    // 'α'(U+03B1)는 그리스(GREEK) 블록에 속합니다.
    var_dump(IntlChar::getBlockCode("α") === IntlChar::BLOCK_CODE_GREEK);
    echo "<br>";

    // '☃'(U+2603)는 기타 기호(MISCELLANEOUS_SYMBOLS) 블록에 속합니다.
    var_dump(IntlChar::getBlockCode("☃") === IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS);
?>

출력 결과

위 예제를 실행하면 다음과 같은 결과가 출력됩니다.

bool(true)
bool(true)
bool(true)

세 문자 모두 자신이 속한 블록 코드와 일치하기 때문에 비교 결과가 모두 true로 나옵니다. 이처럼 IntlChar::getBlockCode() 함수를 사용하면 문자를 블록 단위로 판별할 수 있어, 다국어 처리나 문자 유효성 검사 등에 유용하게 활용할 수 있습니다.