PHP의 IntlChar::isJavaIDStart() 함수는 입력된 문자가 자바(Java) 식별자(identifier)의 첫 번째 문자로 사용할 수 있는지 여부를 확인하는 데 사용됩니다. 즉, 해당 문자로 자바 변수나 클래스 이름을 시작할 수 있는지 판별하는 함수입니다.
문법
IntlChar::isJavaIDStart(val)
매개변수
val − 검사하고자 하는 문자 또는 정수 값입니다. 문자열로 전달할 경우 UTF-8로 인코딩된 단일 문자여야 합니다.
반환값
입력한 문자가 자바 식별자의 시작 문자로 허용되면 TRUE(bool(true))를 반환합니다. 자바 식별자의 첫 문자는 일반적으로 영문 알파벳(A~Z, a~z), 밑줄(_), 달러 기호($) 등이 해당되며, 숫자는 첫 문자로 사용할 수 없습니다.
예제 1
다음은 이 함수의 기본적인 사용 예입니다 −
<?php
var_dump(IntlChar::isJavaIDStart("A"));
echo "<br>";
var_dump(IntlChar::isJavaIDStart("a"));
echo "<br>";
?>
출력 결과
위 코드의 실행 결과는 다음과 같습니다 −
bool(true)
bool(true)
대문자 'A'와 소문자 'a' 모두 자바 식별자의 첫 문자로 사용할 수 있기 때문에 true가 반환됩니다.
예제 2
이번에는 여러 가지 입력 값을 비교해 보겠습니다 −
<?php
var_dump(IntlChar::isJavaIDStart("111"));
echo "<br>";
var_dump(IntlChar::isJavaIDStart("K"));
echo "<br>";
var_dump(IntlChar::isJavaIDStart("Kite"));
echo "<br>";
var_dump(IntlChar::isJavaIDStart("123 "));
echo "<br>";
?>
출력 결과
NULL
bool(true)
NULL
NULL
결과를 해석해 보면 다음과 같습니다.
"111", "Kite", "123 "처럼 두 글자 이상으로 구성된 문자열을 전달하면 함수가 단일 문자만 처리할 수 있으므로 NULL이 반환됩니다.
"K"는 유효한 단일 문자이며 자바 식별자의 시작 문자로 적합하므로 true가 반환됩니다.
참고 사항
단일 문자라도 자바 식별자의 시작 문자로 부적합하면 false(bool(false))가 반환됩니다. 예를 들어 숫자 "1"은 자바 식별자의 첫 문자로 사용할 수 없으므로 false가 출력됩니다. 따라서 이 함수를 활용하면 입력값 검증 시 자바 네이밍 규칙에 맞는지 손쉽게 확인할 수 있습니다.