CascadiaPHP 2024

is_finite

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_finiteПроверяет, конечно ли число с плавающей точкой

Описание

is_finite(float $num): bool

Возвращает результат проверки того, конечно ли переданное в параметр num число с плавающей точкой.

Конечное число с плавающей точкой — это ни нечисло (NAN), как его вычисляет функция is_nan(), ни бесконечность, как её вычисляет функция is_infinite().

Список параметров

num

Проверяемое число с плавающей точкой (float)

Возвращаемые значения

Функция возвращает true, если значение num не нечисло NAN, не положительная бесконечность INF, не отрицательная бесконечность -INF, иначе false.

Примеры

Пример #1 Пример использования функции is_finite()

<?php

$float
= 1.2345;
var_dump($float, is_finite($float));

$nan = sqrt(-1);
var_dump($nan, is_finite($nan));

$inf = 1e308 * 2;
var_dump($inf, is_finite($inf));

?>

Результат выполнения приведённого примера:

float(1.2345)
bool(true)
float(NAN)
bool(false)
float(INF)
bool(false)

Смотрите также

  • is_infinite() - Проверяет, бесконечно ли число с плавающей точкой
  • is_nan() - Проверяет, представляет ли собой число с плавающей точкой нечисло

add a note

User Contributed Notes 1 note

up
9
Daniel Klein
6 years ago
(is_finite($float)) is equivalent to (!is_infinite($float) && !is_nan($float)), i.e. a number can only be one of finite, infinite and NaN. You don't need to check both is_infinite() and is_nan() to see if a number is invalid or out of range.

<?php
$finite
= 42;
$infinite = log(0);
$nan = acos(2);

var_dump(is_finite($finite), is_infinite($finite), is_nan($finite)); // true, false, false
var_dump(is_finite($infinite), is_infinite($infinite), is_nan($infinite)); // false, true, false
var_dump(is_finite($nan), is_infinite($nan), is_nan($nan)); // false, false, true
?>
To Top