PHP | is_finite()、is_infinite()、is_nan() 函数
给定任何数值,它可以分为 3 个不同的类别,例如有限数、无限数和非数或通常称为 NaN。在开发高度依赖用户输入的项目时,可能会出现许多情况,即用户提供了不适当的输入,而函数需要有限的数字输入,从而产生未处理的情况或意外结果。
因此,检查给定输入值是否有限是一种安全的选择。
is_finite()函数
句法:
bool is_finite ($value)
参数:该函数采用单个参数,该参数是要检查的浮点数。
返回类型:如果给定值是有限的,则此函数返回 TRUE,否则返回 FALSE。
例子:
Input : $value = M_PI_4;
Output : TRUE
Input : $value = log(0);
Output : FALSE
is_infinite()函数
句法:
bool is_infinite ($value)
参数:该函数采用单个参数,该参数是要检查的浮点数。
返回类型:如果给定值是无限的,则此函数返回 TRUE,否则返回 FALSE。
例子:
Input : $value = M_PI_4;
Output : FALSE
Input : $value = log(0);
Output : TRUE
is_nan()函数
句法:
bool is_nan ($value)
参数:该函数采用单个参数,该参数是要检查的浮点数。
返回类型:如果给定值不是数字,则此函数返回 TRUE,否则返回 FALSE。
例子:
Input : $value = M_PI_4;
Output : FALSE
Input : $value = acos(1.1); // cos function can not be greater than 1
Output : TRUE
下面的程序说明了PHP中 is_finite()、is_infinite()、is_nan() 函数的工作原理:
输出:
bool(true) bool(false) bool(false)
bool(false) bool(true) bool(false)
bool(false) bool(false) bool(true)
需要注意的要点:
- 此函数还可以检查表达式是否产生有限结果,但如果表达式导致 NaN, PHP本身会显示错误并返回默认 FALSE,例如检查除以零表达式的情况。
- is_finite()函数在许多项目中使用,以使其更加安全和高效。
- 这些方法产生高度准确的结果,但时间效率不高。