PHP에서 IS_NAN () 함수는 값이 "숫자가 아닌"(NAN)인지 확인하는 데 매우 유용한 도구입니다. NAN은 "숫자가 아님"에 대한 약어입니다. 이는 일부 수학 연산의 결과가 유효하지 않거나 대표 할 수 없음을 의미합니다. NAN은 특수 값으로서 일반적으로 부동 작업 중에 0으로 나누거나 계산 프로세스 중에 유효하지 않은 값을 만나는 동안 발생합니다.
이 기사는 IS_NAN () 함수의 기본 사용법을 탐색하고 수치 비교에서 일반적인 함정을 피하기 위해이를 사용하는 방법에 대해 논의합니다.
NAN은 플로팅 작업에서 특별한 값으로 유효한 숫자가 아님을 나타냅니다. JavaScript, Python 및 PHP에서 NAN은 유효한 것으로 표현할 수없는 값을 나타냅니다.
예를 들어:
$number = 0 / 0; // 나오십시오 NaN
이 예에서는 0으로 나눈 작업이 잘못된 수학적 작업이므로 $ 번호는 NAN이됩니다.
PHP는 값이 NAN인지 확인하기 위해 is_nan () 함수를 제공합니다. 구문은 다음과 같습니다.
is_nan(mixed $var): bool
$ var : 감지 할 변수.
반환 값 : 변수가 NAN 인 경우 true를 반환합니다. 그렇지 않으면 False .
$val1 = 0 / 0; // NaN
$val2 = 10; // 숫자
echo is_nan($val1) ? "예 NaN" : "不예 NaN"; // 산출:예 NaN
echo is_nan($val2) ? "예 NaN" : "不예 NaN"; // 산출:不예 NaN
이 예에서 $ Val1 은 NAN이고 $ VAL2는 유효한 수치 값입니다.
NAN은 어떤 값도 같지 않습니다 (자체 포함). 변수가 NAN인지 비교하기 위해 == 또는 ===를 직접 사용하면 결과가 혼란 스러울 수 있습니다. 다음 코드를 고려하십시오.
$val1 = 0 / 0; // NaN
if ($val1 == $val1) {
echo "값은 동일합니다";
} else {
echo "값은 동일합니다"; // 산출:값은 동일합니다
}
동일한 변수를 비교하더라도 NAN은 NAN과 결코 같지 않기 때문에 결과는 여전히 거짓 입니다.
이 비교 문제를 피하기 위해 IS_NAN () 함수는 매우 효과적인 도구입니다. IS_NAN ()을 사용하면 == 또는 === 의 오용에 대해 걱정하지 않고 변수가 NAN인지 직접 감지 할 수 있습니다.
$val1 = 0 / 0; // NaN
if (is_nan($val1)) {
echo "这예一个 NaN 값"; // 산출:这예一个 NaN 값
}
이 방법은 NAN 값을보다 명확하고 정확하게 처리하는 데 도움이 될 수 있습니다.
많은 웹 애플리케이션에서 사용자는 숫자가 아닌 데이터가 포함 된 양식을 제출하여 백그라운드의 수치 비교에 오류가 발생할 수 있습니다. is_nan () 함수를 사용하면 이러한 문제를 효과적으로 피할 수 있습니다.
사용자가 숫자 값을 제출하는 간단한 형태가 있다고 가정하고 유효한 숫자인지 확인해야합니다.
if (isset($_POST['submit'])) {
$value = $_POST['number'];
// 检查예否为有效的数값
if (is_nan($value)) {
echo "잘못된 입력,请输入一个有效的숫자。";
} else {
echo "输入的숫자예:$value";
}
}
이 예에서 IS_NAN ()은 유효하지 않은 입력이 추가로 처리되는 것을 효과적으로 방지 할 수있어 숫자 값을 비교할 때 NAN으로 인해 응용 프로그램이 충돌하지 않도록합니다.
실제 개발에서는 URL 주소와 관련된 논리로 NAN을 판단해야 할 수도 있습니다. 사용자가 GET 요청을 통해 URL 매개 변수를 제출하는 PHP 응용 프로그램이 있다고 가정합니다. URL이 유효한 숫자 값인지 확인해야합니다 (예 : ID 전달 또는 금액). 유효한 값이 전달되지 않으면 NAN 또는 Outliers를 처리 할 수 있습니다.
예는 다음과 같습니다.
// 우리가받는다고 가정합니다 URL 参数예某个计算的结果
$url = "https://gitbox.net/calculation?value=" . $_GET['value'];
$value = $_GET['value'];
if (is_nan($value)) {
echo "URL 中传递的값不예有效숫자,링크를 확인하십시오:$url";
} else {
echo "URL 中传递的숫자예有效的:$value";
}
이 예에서는 URL 매개 변수를 감지하여 유효한 값이 포함되어 있는지 확인합니다. NAN이 감지되면 사용자에게 링크를 확인하도록 상기시킵니다.
IS_NAN ()은 숫자 값을 다룰 때 발생하는 많은 일반적인 함정을 피하는 데 도움이되는 매우 유용한 PHP 기능입니다. IS_NAN ()을 올바르게 사용하면 NAN 값이 프로그램 로직을 방해하는 것을 효과적으로 피할 수있어 코드가보다 강력하고 유지 관리가 쉬워집니다.
숫자 값을 비교할 때 IS_NAN ()을 사용하여 직접 비교를 위해 == 또는 ===를 사용하지 않고 변수의 유효성을 확인하십시오.