is_numeric()
함수의 사용법
is_numeric()
함수는
주어진 값이 숫자 또는 숫자 문자열인지 확인하는 함수입니다.
이 함수는 매개변수로 전달된 값이 숫자이거나 숫자 문자열이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
$a = 10;
$b = '10';
$c = 10.0;
$d = -10.52;
$e = '-10.52';
$f = 'not numeric';
$g = true;
$h = '10x';
var_dump(is_numeric($a)); // true
var_dump(is_numeric($b)); // true
var_dump(is_numeric($c)); // true
var_dump(is_numeric($d)); // true
var_dump(is_numeric($e)); // true
var_dump(is_numeric($f)); // false
var_dump(is_numeric($g)); // false
var_dump(is_numeric($h)); // false
is_numeric()
함수의 형식은 다음과 같습니다.
구문
is_numeric(mixed $value): bool
매개변수
$value |
필수. 숫자 또는 숫자 문자열인지 확인할 값입니다. |
---|
반환 값
매개변수로 전달된 값이 부동소수점 숫자 타입이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
PHP 8.0.0 버전부터의 변경 사항
- PHP 8.0.0 버전 이전에는 숫자 뒤에 공백이 있는 숫자 형식의 문자열은
is_numeric()
함수에 의해 숫자로 인식되지 않았습니다. 예를 들어'35 '
는 공백 문자가 포함되어 있어false
를 반환했습니다. - PHP 8.0.0 버전부터는
true
를 반환하도록 변경되었습니다.
var_dump(is_numeric('35 ')); // fase => 숫자 뒤에 공백이 있는 숫자 형식의 문자열이 있을 경우
var_dump(is_numeric(' 35')); // true => 숫자 앞에 공백이 있는 숫자 형식의 문자열이 있을 경우
var_dump(is_numeric('35 ')); // true => PHP 8.0.0 버전부터 true를 반환
var_dump(is_numeric(' 35')); // true => PHP 8.0.0 버전 이전에도 역시 true를 반환
즉, 이 변경 사항은 숫자 뒤에 공백이 있는 문자열이 is_numeric()
함수에 전달될 때 이를 숫자로 간주하여 true
를 반환하도록 허용하는 것입니다.
주의할 점
+
또는 -
부호가 포함된 문자열은 is_numeric()
함수에 의해 숫자로 인식됩니다. 예를 들어, '+123'
또는 '-456'
은 숫자로 인식됩니다.
var_dump(is_numeric('+123')); // true
var_dump(is_numeric('-456')); // true
문자열이 모두 숫자인지 확인하려면 ctype_digit()
함수를 사용하세요.
var_dump(ctype_digit('+123')); // false
var_dump(ctype_digit('-456')); // false
이 함수의 관련 함수를 참조
is_numeric()
함수보다 더 정확하게 숫자를 확인하려면 is_int()
또는 is_float()
함수를 사용하는 것이 좋습니다.
그리고, ctype_digit()
함수는 문자열이 숫자로만 구성되어 있는지 확인하는 데 사용할 수 있습니다.
참고문헌
같이 보기
- PHP gettype() 함수 - 변수의 데이터 타입 확인
- PHP is_int() 함수 - 변수의 정수(integer) 타입 확인
- PHP is_float() 함수 - 변수의 부동소수점 숫자(float) 타입 확인
- PHP is_bool() 함수 - 변수의 부울(boolean) 타입 확인
- PHP is_string() 함수 - 변수의 문자열(string) 타입 확인
- PHP is_array() 함수 - 변수의 배열(array) 타입 확인
- PHP is_object() 함수 - 변수의 객체(object) 타입 확인
- PHP is_resource() 함수 - 변수의 리소스(resource) 타입 확인
- PHP is_null() 함수 - 변수의 NULL 타입 확인
- PHP ctype_digit() 함수 - 문자열이 모두 숫자인지 확인