PHP의 IntlChar::getFC_NFKC_Closure() 함수는 지정한 값(val)에 대한 유니코드 FC_NFKC_Closure 속성값을 조회하는 데 사용됩니다. FC_NFKC_Closure은 유니코드 표준에서 정의한 정규화 파생 속성으로, 대소문자 접기(full case folding)와 NFKC 정규화를 연속적으로 적용할 때 결과가 달라질 수 있는 문자들을 다룹니다. 다국어 텍스트를 비교하거나 정규화하는 국제화(i18n) 작업에서 활용됩니다.
문법
IntlChar::getFC_NFKC_Closure(val)
매개변수
val − 검사할 문자. 정수(코드포인트 값) 또는 UTF-8로 인코딩된 문자열 형태로 전달합니다.
반환 값
입력된 값 val에 해당하는 FC_NFKC_Closure 속성 문자열을 반환합니다. 해당 문자에 이 속성이 정의되어 있지 않으면 NULL을 반환합니다.
예제
다음은 여러 타입의 입력값으로 getFC_NFKC_Closure() 함수를 호출해 본 예제입니다.
<?php
// 유니코드 코드포인트(U+0034, 숫자 '4') 입력
var_dump(IntlChar::getFC_NFKC_Closure("\u{34}"));
echo "<br>";
// 공백 문자 입력
var_dump(IntlChar::getFC_NFKC_Closure(" "));
echo "<br>";
// 유니코드 문자(U+0220, 'Ƞ') 입력
var_dump(IntlChar::getFC_NFKC_Closure("\u{220}"));
echo "<br>";
// 일반 문자열 입력
var_dump(IntlChar::getFC_NFKC_Closure("XYZ"));
?>
실행 결과
NULL
string(0) ""
NULL
NULL
결과 해석
숫자 '4'(U+0034), 'Ƞ'(U+0220), 그리고 문자열 "XYZ"의 첫 번째 문자 'X'는 FC_NFKC_Closure 속성이 정의되어 있지 않아 NULL이 출력되었습니다. 공백 문자의 경우 빈 문자열(string(0) "")이 반환되었는데, 세부적인 반환 형식은 시스템에 설치된 ICU 라이브러리 버전에 따라 달라질 수 있습니다.
참고 사항
이 함수를 사용하려면 PHP 7 이상 환경에서 intl 확장 모듈(ICU 기반)이 활성화되어 있어야 합니다.
여러 문자를 포함한 문자열을 전달하면 첫 번째 문자를 기준으로 속성을 검사합니다.
유니코드 코드포인트를 직접 지정할 때는 PHP 7부터 지원하는
\u{...}이스케이프 문법을 사용하는 것이 좋습니다.