PHP의 IntlChar::isalpha() 함수는 주어진 입력값이 알파벳 문자인지 아닌지를 검사합니다. 이 함수는 PHP의 국제화(intl) 확장에 포함되어 있으며, 단일 유니코드 코드포인트를 기준으로 판별 결과를 반환합니다.
문법(Syntax)
IntlChar::isalpha( $val )
매개변수
val − 검사 대상이 되는 정수 값 또는 UTF-8로 인코딩된 단일 문자입니다. 이 값은 필수 입력 항목입니다.
반환 값
IntlChar::isalpha() 함수는 입력값에 따라 다음과 같은 결과를 반환합니다.
- bool(true) − 입력값이 알파벳 문자일 때
- bool(false) − 숫자나 기호 등 알파벳이 아닌 문자일 때
- NULL − 두 글자 이상의 문자열처럼 유효한 단일 코드포인트가 아닐 때
예제 1
다음은 IntlChar::isalpha() 함수의 기본적인 사용 예제입니다.
<?php var_dump(IntlChar::isalpha("7")); echo "<br>"; var_dump(IntlChar::isalpha("M"));?>출력 결과
bool(false)
bool(true)
숫자 "7"은 알파벳이 아니므로 false가 반환되고, 알파벳 문자 "M"은 true가 반환되는 것을 확인할 수 있습니다.
예제 2
이번에는 여러 종류의 입력값을 전달하여 알파벳 여부를 확인해 보겠습니다.
<?php var_dump(IntlChar::isalpha("Amit")); echo "<br>"; var_dump(IntlChar::isalpha("Jacob87876")); echo "<br>"; var_dump(IntlChar::isalpha("87876")); echo "<br>"; var_dump(IntlChar::isalpha("A"));?>출력 결과
NULL
NULL
NULL
bool(true)
IntlChar 계열 함수는 한 번에 하나의 유니코드 코드포인트만 처리할 수 있기 때문에, "Amit", "Jacob87876", "87876"처럼 두 글자 이상으로 구성된 문자열을 전달하면 NULL이 반환됩니다. 반면 단일 문자 "A"는 알파벳에 해당하므로 bool(true)가 출력됩니다.
정리
IntlChar::isalpha()는 단일 문자가 알파벳인지 확인할 때 유용하게 사용되는 함수입니다. 이 함수를 사용하려면 서버에 intl 확장 모듈이 활성화되어 있어야 하며, 정확한 결과를 얻으려면 반드시 한 글자짜리 문자열 또는 정수 형태의 코드포인트를 전달해야 한다는 점을 기억하세요.