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

PHP IntlChar::ord() 함수 완벽 가이드 – 유니코드 코드 포인트 값 구하기

PHP의 IntlChar::ord() 함수는 입력된 문자에 해당하는 유니코드 코드 포인트(Unicode Code Point) 값을 정수 형태로 반환합니다. 이 함수는 PHP의 국제화(Internationalization) 확장 모듈인 Intl에서 제공되며, 문자를 숫자 값으로 변환해야 하는 다양한 상황에서 유용하게 활용됩니다.

문법(Syntax)

int IntlChar::ord( char_unicode )

매개변수(Parameters)

  • char_unicode − 코드 포인트 값을 확인하고자 하는 유니코드 문자입니다.

반환값(Return)

IntlChar::ord() 함수는 입력된 문자의 유니코드 값을 정수(integer) 형태로 반환합니다. 만약 유효하지 않은 입력이 전달되면 NULL을 반환합니다.

예제 1

다음 예제는 영문 대문자와 숫자 문자의 유니코드 값을 확인하는 방법을 보여줍니다.

<?php
    var_dump(IntlChar::ord("H"));
    echo "<br>";
    var_dump(IntlChar::ord("9"));
?>

출력 결과

int(72)
int(57)

대문자 "H"의 유니코드 값은 72이고, 숫자 문자 "9"의 유니코드 값은 57입니다. 참고로 아스키(ASCII) 코드와 유니코드의 기본 라틴 문자 영역은 값이 동일하기 때문에 익숙한 숫자가 출력되는 것을 확인할 수 있습니다.

예제 2

특수문자와 두 글자 이상의 문자열을 전달했을 때의 결과도 살펴보겠습니다.

<?php
    var_dump(IntlChar::ord("%"));
    echo "<br>";
    var_dump(IntlChar::ord("Fine!"));
?>

출력 결과

int(37)
NULL

특수문자 "%"는 정상적으로 유니코드 값 37을 반환하지만, "Fine!"처럼 두 글자 이상인 문자열을 전달하면 단일 문자가 아니기 때문에 NULL이 반환됩니다. 따라서 IntlChar::ord() 함수는 반드시 한 글자짜리 문자에만 사용해야 합니다.

정리

  • IntlChar::ord()는 단일 유니코드 문자를 정수형 코드 포인트 값으로 변환합니다.

  • 반대 기능을 수행하는 함수는 IntlChar::chr()로, 코드 포인트 값을 문자로 되돌릴 수 있습니다.

  • 멀티바이트 문자열 처리나 다국어 지원 로직을 개발할 때 활용도가 높습니다.