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

PHP IntlChar::isdefined() 함수 사용법 – 유니코드 문자 정의 여부 확인하기

PHP의 IntlChar::isdefined() 함수는 입력된 값이 정의된(assigned) 유니코드 문자인지 여부를 확인하는 함수입니다. 이 함수는 국제화 확장 모듈(Intl)에 포함되어 있으며, 특정 코드 포인트가 실제로 유니코드 표준에서 할당된 문자인지 판별할 때 유용하게 사용됩니다.

문법 (Syntax)

bool IntlChar::isdefined ( mixed $val )

매개변수 (Parameters)

  • val − 확인하고자 하는 값으로, 정수형 코드 포인트(예: U+0041) 또는 UTF-8로 인코딩된 단일 문자를 전달할 수 있습니다.

반환값 (Return Value)

입력한 값이 유니코드에서 정의된 문자라면 true(bool)를 반환합니다. 만약 유효하지 않은 값이나 단일 문자가 아닌 값이 전달되면 NULL을 반환하며, 경고(warning)가 발생할 수 있습니다.

예제 (Example)

다음은 IntlChar::isdefined() 함수의 동작을 보여주는 예제입니다.

<?php
   var_dump(IntlChar::isdefined("Z"));
   echo "<br>";
   var_dump(IntlChar::isdefined(" "));
   echo "<br>";
   var_dump(IntlChar::isdefined("HJHK"));
   echo "<br>";
   var_dump(IntlChar::isdefined("89"));
?>

실행 결과 (Output)

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

bool(true)
bool(true)
NULL
NULL

결과 해설

  • "Z"는 라틴 대문자 Z(U+005A)로, 유니코드에 정의된 문자이므로 bool(true)가 반환됩니다.

  • " "(공백 문자) 역시 U+0020으로 정의된 문자이기 때문에 bool(true)가 반환됩니다.

  • "HJHK""89"처럼 두 글자 이상의 문자열을 전달하면 단일 문자가 아니므로 NULL이 반환됩니다. 이 함수는 반드시 하나의 문자 또는 하나의 코드 포인트만 처리한다는 점에 유의해야 합니다.

참고 사항

IntlChar 클래스를 사용하려면 PHP에 intl 확장 모듈이 설치되어 있어야 합니다. 대부분의 최신 PHP 환경에는 기본적으로 포함되어 있지만, 필요한 경우 php.ini에서 extension=intl을 활성화해야 합니다. 또한 비슷한 기능의 함수로 IntlChar::isalpha(), IntlChar::isdigit() 등이 있으니, 문자 속성 검사가 필요하다면 함께 활용해 보시기 바랍니다.