PHP의 is_nan() 함수는 주어진 값이 'NaN(Not a Number, 숫자가 아님)'인지 검사하는 함수입니다. 값이 NaN이면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
문법
is_nan(num)
매개변수
num − NaN 여부를 확인할 값입니다.
반환값
num이 '숫자가 아님(NaN)'이면 TRUE를 반환하고, 유효한 숫자라면 FALSE를 반환합니다.
예제 1
다음 예제는 일반적인 숫자 값에 대해 is_nan() 함수를 호출한 결과입니다.
<?php var_dump(is_nan(10)); ?>
출력 결과:
bool(false)
10은 정상적인 숫자이므로 FALSE가 반환됩니다.
예제 2
다음 예제는 수학적으로 정의되지 않은 연산 결과에 대해 is_nan() 함수를 사용한 경우입니다.
<?php var_dump(is_nan(acos(1.01))); ?>
출력 결과:
bool(true)
acos() 함수는 -1부터 1 사이의 값만 인자로 받을 수 있으므로, 범위를 벗어난 값(1.01)을 넣으면 연산 결과가 NaN이 되어 TRUE가 반환됩니다.
참고 사항
NaN은 0으로 나누기, 음수의 제곱근, 유효 범위를 벗어난 삼각함수 연산 등 수학적으로 정의할 수 없는 연산의 결과로 발생합니다. 부동소수점 연산을 다룰 때는 계산 결과가 NaN인지 반드시 확인하는 것이 안전한 코드 작성에 도움이 됩니다.