PHP의 ctype_digit() 함수는 주어진 문자열이 숫자(10진수 숫자 0~9)로만 구성되어 있는지 검사하는 함수입니다. 즉, 문자열 내 모든 문자가 숫자인지 아닌지를 판별할 때 사용됩니다.
문법
ctype_digit(str)
매개변수
str − 검사 대상이 되는 문자열입니다.
반환값
문자열의 모든 문자가 10진수 숫자라면 TRUE를 반환하고, 하나라도 숫자가 아닌 문자가 포함되어 있으면 FALSE를 반환합니다.
참고로 빈 문자열을 전달하면 FALSE를 반환하며, 음수 기호(-)나 소수점(.)이 포함된 값("-123", "3.14" 등) 역시 숫자로만 구성된 것이 아니므로 FALSE를 반환한다는 점에 유의해야 합니다.
예제
다음은 ctype_digit() 함수의 동작을 보여주는 예제입니다 −
<?php
$arr = array('mac7687', '8798');
foreach ($arr as $a) {
if (ctype_digit($a)) {
echo "$a has all digits. \n";
} else {
echo "$a does not have all digits. \n";
}
}
?>
출력 결과
위 코드를 실행한 결과는 다음과 같습니다 −
mac7687 does not have all digits.
8798 has all digits.
'mac7687'은 알파벳이 섞여 있어 FALSE를 반환하지만, '8798'은 모두 숫자로만 이루어져 있으므로 TRUE를 반환하는 것을 확인할 수 있습니다. 이처럼 ctype_digit() 함수는 사용자 입력값 검증 등에서 특정 문자열이 정수 형태의 숫자로만 이루어졌는지 확인할 때 유용하게 활용됩니다.