현재 위치: > 최신 기사 목록> PHP IS_NAN과 IS_FINITE 기능 및 응용 프로그램 시나리오의 차이

PHP IS_NAN과 IS_FINITE 기능 및 응용 프로그램 시나리오의 차이

gitbox 2025-05-27

PHP에서 IS_NAN ()IS_FINITE () 는 일반적으로 사용되는 두 개의 숫자 감지 기능이며, 변수가 비수막 (NAN)인지 또는 수치 값이 유한한지 여부를 결정하는 데 사용됩니다. 비슷해 보이지만 다른 용도와 해당 시나리오가 있습니다. 이 기사는이 두 기능과 해당 응용 프로그램 시나리오의 차이점을 자세히 설명합니다.

1. IS_NAN () 함수 소개

IS_NAN () 함수는 값이 "숫자가 아닌"(NAN, NOT-NUMBER)인지 여부를 감지하는 데 사용됩니다. 수학 및 컴퓨터 과학에서 NAN은 일반적으로 숫자 값으로 표현할 수없는 결과를 나타내는 특별한 부동 값입니다. 예를 들어, 0을 0으로 나누거나 음수의 제곱근을 계산하면 NAN이 생성됩니다.

용법

 is_nan(mixed $var): bool
  • 매개 변수 : $ var는 모든 유형의 변수 일 수 있습니다.

  • 반환 값 : $ var 가 nan이면 함수는 true를 반환하고 그렇지 않으면 거짓입니다 .

 $number1 = sqrt(-1); // 음수의 제곱근을 계산하십시오,결과는입니다NaN
$number2 = 10 / 0; // 결과는입니다INF,위대한

var_dump(is_nan($number1)); // 산출:bool(true)
var_dump(is_nan($number2)); // 산출:bool(false)

해당 시나리오

IS_NAN ()은 특히 부동 소수점 작업이 관련 될 때 유효하지 않은 결과가 계산에 나타나는 시나리오에 매우 적합합니다. 예를 들어:

  • 수학적 계산에서는 0 또는 음수로 나누는 것과 같은 작업으로 인한 잘못된 결과를 피하십시오.

  • 과학 컴퓨팅, 이미지 처리 등의 분야에서 불법 결과가 있는지 여부.

2. IS_FINITE () 함수 소개

is_finite () 함수는 숫자가 유한 값인지 확인하는 데 사용됩니다. 주어진 숫자가 유한 값인지 확인합니다. 무한대 (INF) 또는 NAN이 될 수 없습니다.

용법

 is_finite(mixed $var): bool
  • 매개 변수 : $ var는 모든 유형의 변수 일 수 있습니다.

  • 반환 값 : $ var가 유한 한 값이면 함수는 true , 그렇지 않으면 false가 반환됩니다.

 $number1 = 10 / 2; // 결과는입니다5
$number2 = 10 / 0; // 결과는입니다INF
$number3 = sqrt(-1); // 결과는입니다NaN

var_dump(is_finite($number1)); // 산출:bool(true)
var_dump(is_finite($number2)); // 산출:bool(false)
var_dump(is_finite($number3)); // 산출:bool(false)

해당 시나리오

IS_FINITE ()는 변수가 유한 숫자인지, 특히 과학 컴퓨팅, 재무 응용 분야에서 유한 숫자인지 여부를 감지하는 데 매우 적합합니다. 계산 결과가 유효하고 무한대 (INF) 또는 NAN으로 인한 비정상적인 프로그램 행동을 피하는 데 사용될 수 있습니다.

3. is_nan ()is_finite () 의 차이

  1. 다른 판단 대상 :

    • IS_NAN () 은 NAN인지 확인합니다.

    • IS_FINITE ()는 유한 값인지 확인하고 NAN 또는 Infinity (INF) 인 경우 False를 반환합니다.

  2. 다른 시나리오가 적용됩니다 .

    • IS_NAN ()은 0으로 0으로 나눈 숫자 계산이 잘못된 수치 계산이 있는지 확인하는 데 적합합니다.

    • IS_FINITE ()는 값이 제한되어 있는지 확인하고 무한대 또는 NAN이 프로그램 논리에 영향을 미치는 것을 피하는 데 적합합니다.

  3. 반환 결과는 다릅니다 .

    • is_nan ()은 변수가 nan 인 경우에만 true를 반환합니다.

    • IS_FINITE ()는 NAN뿐만 아니라 INF (Infinity)도 False를 반환합니다.

예제 비교

 $value1 = 0 / 0; // NaN
$value2 = 10 / 0; // INF

echo is_nan($value1); // true
echo is_nan($value2); // false

echo is_finite($value1); // false
echo is_finite($value2); // false

4. 요약

  • IS_NAN () 함수는 변수가 NAN (NUMERICAL)인지 결정하는 데 사용되며 잘못된 수치 계산을 확인하는 데 적합합니다.

  • IS_FINITE () 함수는 숫자가 유한한지 여부를 확인하는 데 사용되며 값이 유효한지 판단하고 무한대 또는 NAN의 간섭을 피하는 데 적합합니다.

실제 개발에서 사용해야 할 기능을 선택하는 것은 확인해야 할 숫자 값의 유형과 응용 프로그램 시나리오에 따라 다릅니다. 일반적으로 IS_NAN ()은 특수 오류 처리를 선호하는 반면 is_finite ()는 수치 적법성 검사에 사용됩니다.