PHP Conference Japan 2024

is_finite

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

is_finite檢查浮點數是否為有限值

說明

is_finite(浮點數 $num): 布林值

返回給定的 num 是否為有限的浮點數。

有限的浮點數既不是 NAN (is_nan()),也不是無限大 (is_infinite())。

參數

num

要檢查的 浮點數

返回值

如果 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