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

PHP IntlChar::digit() 함수 사용법 – 코드 포인트의 숫자 값을 손쉽게 확인하기

PHP의 IntlChar::digit() 함수는 주어진 코드 포인트가 특정 진법(radix)에서 어떤 숫자 값을 가지는지 확인할 때 사용하는 국제화(Internationalization) 관련 함수입니다. 이 함수를 활용하면 유니코드 문자가 해당 진법 내에서 유효한 숫자인지 판별하고, 그 값을 손쉽게 얻을 수 있습니다.

문법(Syntax)

int IntlChar::digit( $val, $radix )

매개변수(Parameters)

  • val − 검사하려는 대상으로, 정수 또는 UTF-8로 인코딩된 문자열을 전달합니다.

  • radix − 적용할 진법 값입니다. 기본값은 10(10진수)이며, 필요에 따라 2진수, 16진수 등 다른 진법을 지정할 수 있습니다.

반환값(Return Value)

IntlChar::digit() 함수는 주어진 진법에서 해당 문자가 나타내는 숫자 값을 반환합니다. 만약 문자가 지정된 진법에서 유효한 숫자가 아니라면 false를 반환합니다.

사용 예제

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

<?php
   var_dump(IntlChar::digit("2"));
   echo "<br>";
   var_dump(IntlChar::digit("Z"));
   echo "<br>";
   var_dump(IntlChar::digit("6", 2));
?>

실행 결과

int(2)
bool(false)
bool(false)

결과 분석

  • IntlChar::digit("2") → 기본 진법(10진수)에서 "2"는 유효한 숫자이므로 int(2)가 반환됩니다.

  • IntlChar::digit("Z") → "Z"는 알파벳 문자로, 10진수에서 숫자가 아니기 때문에 false가 반환됩니다. 참고로 36진법을 지정하면 "Z"는 값 35로 인식됩니다.

  • IntlChar::digit("6", 2) → 2진법에서 허용되는 숫자는 0과 1뿐이므로 "6"은 유효하지 않아 false가 반환됩니다.

이처럼 IntlChar::digit() 함수는 다양한 진법 체계에서 문자의 숫자 값을 검증하고 변환해야 하는 상황, 예를 들어 사용자 입력 검증이나 진법 변환 로직을 구현할 때 매우 유용하게 활용할 수 있습니다.