정의 및 사용 방법
- PHP 버전
- 4+
is_int() 함수는
주어진 값이 정수(integer) 타입인지 확인합니다.
매개변수로 전달된 값이 정수 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
정수(integer) 타입은
소수점이 없는 숫자 값을 표현하는 데이터 타입입니다.
PHP에서는 문자열이나 부동 소수점 숫자도 상황에 따라 숫자처럼 처리될 수 있지만, 정수 타입 자체는 소수점이 없는 정수 값만을 가집니다.
기본 예제
/* 정수(integer) 타입 */
var_dump(is_int(1)); // bool(true)
var_dump(is_int(0)); // bool(true)
var_dump(is_int(-10)); // bool(true)
/* 부동 소수점 숫자(float) */
var_dump(is_int(1.0)); // bool(false)
var_dump(is_int(0.0)); // bool(false)
var_dump(is_int(3.14)); // bool(false)
/* 문자열 */
var_dump(is_int('1')); // bool(false)
var_dump(is_int('0')); // bool(false)
var_dump(is_int('10')); // bool(false)
/* 숫자 연산 결과 */
var_dump(is_int(1 + 1)); // bool(true)
var_dump(is_int(10 / 2)); // bool(true)
var_dump(is_int(9 / 2)); // bool(false)
/* 타입 캐스팅(Type Casting, 형 변환) */
var_dump(is_int((int) '1')); // bool(true)
var_dump(is_int((int) 1.9)); // bool(true)
참고하세요!
gettype() 함수는 주어진 값의 데이터 타입을 문자열로 반환합니다.
구문
is_int(mixed $value): bool
매개변수
$value |
필수. 정수(integer) 타입을 확인할 값입니다. |
|---|
반환 값
매개변수로 전달된 값이 정수 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
주의할 점
is_int() 함수를 사용할 때 몇 가지 주의해야 할 점이 있습니다.
문자열 '1'처럼 숫자를 나타내는 문자열은 false를 반환
$num = '10';
var_dump(is_int($num)); // bool(false)
10.5처럼 부동소수점 숫자(float, 소수점을 가진 숫자)는 false를 반환
$num_1 = 10.5;
$num_2 = 10.0;
var_dump(is_int($num_1)); // bool(false)
var_dump(is_int($num_2)); // bool(false)
0123처럼 0으로 시작하는 정수는 true를 반환
$num_1 = 0123;
$num_2 = -0123;
$num_3 = 000;
var_dump(is_int($num_1)); // bool(true)
var_dump(is_int($num_2)); // bool(true)
var_dump(is_int($num_3)); // bool(true)
활용 예제
is_int() 함수는 다음과 같은 경우에 사용하면 편리하거나 유용합니다.
변수가 정수 타입인지 확인하는 경우
변수가 정수 타입인지 확인해야 하는 경우 is_int() 함수를 사용하면 코드를 간결하게 작성할 수 있습니다. 예를 들어, 다음 코드는 변수가 정수 타입인지 확인하고 그에 따라 다른 작업을 수행합니다.
$a = '2';
if (is_int($a)) {
echo '변수 a는 정수 타입입니다.';
} else {
echo '변수 a는 정수 타입이 아닙니다.';
}
// 출력: '변수 a는 정수 타입이 아닙니다.'
다음의 예제처럼 데이터베이스에서 가져온 값이 정수인지 확인해야 하는 경우 다음과 같이 코드를 작성할 수 있습니다.
$value = $db->query('SELECT value FROM table WHERE id = 1')->fetchColumn();
if (!is_int($value)) {
echo '데이터 타입이 올바르지 않습니다.';
exit;
}
// ... 나머지 처리
입력 유효성 검사
사용자로부터 입력받은 값이 정수인지 확인하는 데 사용할 수 있습니다. 예를 들어, 양식에서 나이를 입력받는 경우 다음과 같이 코드를 작성할 수 있습니다.
$user_input = $_POST['user_input'];
if (is_int($user_input)) {
// 유효한 정수 입력 처리
} else {
// 유효하지 않은 입력에 대한 처리
}
계산 수행
정수 값만 허용하는 계산을 수행하기 전에 입력값이 정수인지 확인하는 데 사용할 수 있습니다. 예를 들어, 두 수를 더하는 경우 다음과 같이 코드를 작성할 수 있습니다.
$num1 = 10;
$num2 = 20;
if (!is_int($num1) || !is_int($num2)) {
echo '덧셈은 정수에 대해서만 수행 가능합니다.';
exit;
}
$sum = $num1 + $num2;
echo "두 수의 합은 {$sum}입니다.";
// 출력: '두 수의 합은 30입니다.'
같이 보기
- PHP var_dump() 함수 – 변수의 타입·길이·값까지 출력
- PHP print_r() 함수 – 변수의 정보을 사람이 읽기 쉽게 출력
- PHP intval() 함수 – 값을 정수로 변환
- PHP gettype() 함수 - 변수의 데이터 타입 확인
- PHP is_float() 함수 - 변수의 부동소수점 숫자(float) 타입 확인
- PHP is_bool() 함수 - 변수의 부울(boolean) 타입 확인
- PHP is_numeric() 함수 - 변수의 값이 숫자 또는 숫자 문자열인지 확인
- PHP is_string() 함수 - 변수의 문자열(string) 타입 확인
- PHP is_array() 함수 - 변수의 배열(array) 타입 확인
- PHP is_object() 함수 - 변수의 객체(object) 타입 확인
- PHP is_resource() 함수 - 변수의 리소스(resource) 타입 확인
- PHP is_null() 함수 - 변수의 NULL 타입 확인
- PHP ctype_digit() 함수 - 문자열이 모두 숫자인지 확인