Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP is_infinite() 함수 완벽 가이드 – 무한대 값 확인 방법

정의 및 사용법

is_infinite() 함수는 불리언(Boolean) 값을 반환하는 함수입니다. 주어진 매개변수가 무한대(infinite) 숫자인지 검사하며, 무한대이면 TRUE를, 그렇지 않으면 FALSE를 반환합니다.

PHP에서 float 타입으로 표현 가능한 허용 범위를 벗어나는 숫자는 무한대로 간주됩니다. 따라서 이 함수는 수학 연산 결과가 유효한 부동소수점 범위 내에 있는지 확인할 때 유용하게 사용됩니다.

구문

is_infinite ( float $val ) : bool

매개변수

번호매개변수 및 설명
1val
무한대 여부를 검사할 값입니다.

반환 값

PHP is_infinite() 함수는 val이 float 타입의 허용 범위를 벗어나면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

PHP 버전 지원

이 함수는 PHP 4.x, PHP 5.x, PHP 7.x 모든 버전에서 사용할 수 있습니다.

예제 1: 일반 숫자 확인하기

다음 예제는 100이 무한대 숫자가 아님을 보여줍니다.

<?php
    $val = 100;
    $ret = is_infinite($val);
    if ($ret == TRUE) {
        echo $val . " is an infinite number" . "\n";
    } else {
        echo $val . " is not an infinite number" . "\n";
    }
?>

출력 결과

100 is not an infinite number

예제 2: log(0) 값 확인하기

log(0)의 값은 수학적으로 정의되지 않으며, PHP에서는 -INF(음의 무한대)로 처리됩니다. 다음 예제에서 이를 확인해 보겠습니다.

<?php
    $val = log(0);
    var_dump(is_infinite($val));
?>

출력 결과

bool(true)

예제 3: acos() 함수와 NAN 값

cos(x)의 값은 항상 -1과 1 사이에 있으므로, 이 범위를 벗어난 값을 acos() 함수에 전달하면 NAN(Not A Number)이 반환됩니다. NAN은 무한대가 아니므로 is_infinite() 함수는 FALSE를 반환합니다.

<?php
    $val = acos(5);
    var_dump(is_infinite($val));
?>

출력 결과

bool(false)

예제 4: sqrt(-1) 함수와 NAN 값

마찬가지로 sqrt(-1)도 NAN을 생성하므로, is_infinite() 함수는 FALSE를 반환합니다.

<?php
    $val = sqrt(-1);
    $ret = is_infinite($val);
    if ($ret == TRUE) {
        echo $val . " is an infinite number" . "\n";
    } else {
        echo $val . " is not an infinite number" . "\n";
    }
?>

출력 결과

NAN is not an infinite number

참고 사항

무한대 관련 검사에는 is_infinite() 외에도 is_finite()(유한수 여부 확인)와 is_nan()(NAN 여부 확인) 함수를 함께 활용하면 더욱 안전한 수치 연산 처리가 가능합니다. 특히 나눗셈이나 로그, 제곱근 등의 수학 함수를 사용할 때는 결과값이 INF, -INF 또는 NAN이 될 수 있으므로 반드시 유효성 검사를 수행하는 것이 좋습니다.