2024年PHP开发者大会日本站

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

返回值

如果num既不是NANINF、也不是-INF,则返回true;否则返回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)

参见

添加笔记

用户贡献笔记 1 条笔记

9
Daniel Klein
7 年前
(is_finite($float)) 等效于 (!is_infinite($float) && !is_nan($float)),即一个数字只能是有限的、无限的和NaN之一。无需同时检查is_infinite()和is_nan()来查看数字是否无效或超出范围。

<?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