PHP 버전
4.0.4+
var_dump(ctype_digit('1234'));  // bool(true)
var_dump(ctype_digit('0123'));  // bool(true)

var_dump(ctype_digit(' 123 ')); // bool(false)
var_dump(ctype_digit('3.14'));  // bool(false)
var_dump(ctype_digit('-123'));  // bool(false)
var_dump(ctype_digit(''));      // bool(false)

/* PHP 8.1.0부터는 문자열이 아닌 인수를 전달하는 것이 더 이상 지원되지 않습니다. */
var_dump(ctype_digit(123)); // bool(false)
var_dump(ctype_digit(1e3)); // bool(false)
ctype_digit(mixed $text): bool
/* int 타입, ASCII 범위(-128에서 255 사이의 정수) 내 정수 */
$x = 65; // -128에서 255 사이의 정수인 65는 'A' 문자의 ASCII 값으로 간주됨
var_dump(ctype_digit($x)); // false => 문자열 'A'로 간주됨

/* int 타입, ASCII 범위(-128에서 255 사이의 정수) 밖 정수 */
$y = 1234; // -128에서 255 밖의 정수인 1234는 문자열로 변환된 '1234'로 간주됨
var_dump(ctype_digit($y)); // true => 문자열 '1234'로 간주됨
$x = 65;

var_dump( ctype_digit($x)); // false => 의도하지 않은 결과
var_dump( ctype_digit((string)$x)); // true
$var = ' 123 ';

var_dump(ctype_digit($var));       // false
var_dump(ctype_digit(trim($var))); // true
$user_input = trim($_POST['age']);

if (ctype_digit($user_input)) {
    // 입력이 숫자로만 이루어져 있다면 처리합니다.
    $age = intval($user_input); // 숫자로 변환하여 사용할 수 있음
    echo "나이는 {$age}세입니다.";
} else {
    echo "나이는 숫자로 입력해주세요.";
}