현재 위치: > 최신 기사 목록> IS_NAN 함수를 사용하여 부동 값이 유효하지 않은지 확인하십시오.

IS_NAN 함수를 사용하여 부동 값이 유효하지 않은지 확인하십시오.

gitbox 2025-05-28

PHP 프로그래밍에서 플로팅 값을 처리 할 때 종종 "유효하지 않은"값이 발생합니다. 예를 들어, 일부 수학 연산은 NAN (숫자가 아님)을 반환 할 수 있습니다. 플로팅 값이 NAN 인지 여부를 결정하기 위해 PHP는 IS_NAN 함수를 제공합니다. 이 기사는이 기능을 사용하여 부동 값이 잘못된 값인지 여부를 결정하고 해당 코드를 보여주는 방법을 소개합니다.

1. Nan 은 무엇입니까?

NAN 은 플로팅 숫자 유형의 특수 값으로, "유효하지 않은"값을 나타내며, 일반적으로 다음과 같은 상황에서 발생합니다.

  • 수학 연산은 0과 같은 유효한 숫자 값을 0으로 나누거나 잘못된 제곱근을 계산할 수 없습니다.

  • 일부 외부 데이터 소스는 유효한 숫자로 변환 할 수없는 수신 된 문자열과 같이 숫자가 아닌 값을 전달합니다.

PHP에서 NAN은 자체를 포함한 값과 같지 않습니다. 따라서 두 개의 NAN 값을 비교할 때 결과는 항상 거짓 이므로 값이 NAN 인지 확인하기 위해 기존 비교 작업을 직접 사용하는 것이 불가능합니다.

2. IS_NAN 함수의 역할

PHP는 IS_NAN 함수를 제공하여 부동 값이 NAN 인지 여부를 감지합니다. 사용하는 것은 매우 간단합니다.

 <?php
$value = 0 / 0; // 생성 a NaN 값
if (is_nan($value)) {
    echo "이것은 a입니다 NaN 값";
} else {
    echo "이것은 a입니다有效的数값";
}
?>

위의 코드에서 $ 값은 NAN ( 0/0 조작을 통해)에 할당 된 다음 IS_NAN () 함수를 통해 NAN 인지 확인합니다. 그렇다면 해당 프롬프트 정보를 출력하십시오.

3. IS_NAN 의 반환 값

  • 변수가 NAN 인 경우 IS_NAN 함수가 true를 반환합니다.

  • 변수가 NAN이 아닌 경우 False가 반환됩니다.

4. 샘플 코드 : NAN 값 감지

NAN 값 감지를위한 몇 가지 일반적인 예제 코드는 다음과 같습니다.

 <?php
$values = [0 / 0, log(-1), sqrt(-1), 100, 3.14];

foreach ($values as $value) {
    if (is_nan($value)) {
        echo "$value 하나입니다 NaN 값\n";
    } else {
        echo "$value 아니요 NaN 값\n";
    }
}
?>

위의 코드에서는 여러 값이있는 배열을 점검했으며 그 중 일부는 Log (-1)SQRT (-1) 와 같은 잘못된 NAN 값입니다. 프로그램은 각 값을 확인하고 NAN 인지 여부를 출력합니다.

5. IS_NAN을 사용하여 URL 매개 변수가 유효한지 확인

때로는 URL에서 매개 변수로 부동 값을 얻을 수 있으며 IS_NAN 함수를 사용하여 유효한 지 여부를 결정할 수 있습니다. 다음은 URL 매개 변수를 기반으로 한 예입니다.

 <?php
$url = 'http://gitbox.net/somepage.php?value=NaN';
parse_str(parse_url($url, PHP_URL_QUERY), $queryParams);

if (isset($queryParams['value']) && is_nan((float)$queryParams['value'])) {
    echo "URL 中的값无效 (NaN)";
} else {
    echo "URL 中的값有效";
}
?>

이 예에서는 gitbox.net 에서 URL 매개 변수를 얻고 NAN 인지 결정했습니다. 먼저 URL에서 쿼리 문자열을 구문 분석 한 다음 IS_NAN을 사용하여 전달 된 부동 값이 유효한지 확인하십시오.

6. 주목할만한 것들

  • IS_NAN은 플로팅 숫자 유형에만 적용됩니다. 다른 유형의 데이터 (예 : 문자열, 정수 등)에 대해이 기능을 호출하면 False가 반환됩니다.

  • 변수가 숫자이고 NAN이 아닌지 여부를 결정 해야하는 경우 IS_NUMERIC 기능과 IS_NAN 함수를 조합하여 사용할 수 있습니다.

 <?php
$value = "abc";
if (is_numeric($value) && !is_nan((float)$value)) {
    echo "$value 하나입니다有效的数값";
} else {
    echo "$value 아니요有效的数값";
}
?>

결론적으로

IS_NAN 함수는 부동 값이 NAN 인지 여부를 결정하는 쉬운 방법입니다. 이를 사용함으로써 개발자는 유효하지 않은 값을 정확하게 감지하고 처리 할 수있어 기대치를 충족하지 않는 값을 만나면 코드가 올바르게 작동하는지 확인할 수 있습니다. 특히 외부 데이터 소스 또는 사용자 입력을 처리 할 때 IS_NAN 기능의 합리적인 사용은 잠재적 오류를 효과적으로 피할 수 있습니다.