当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()函数的工作方式:

<?php 
  
// PHP code to illustrate the working of  
// is_finite(), is_infinte() and is_nan() Functions  
  
// Finite Value:PI 
$val1 = M_PI;  
// In-built value of INFINITY 
$val2 = INF;  
// Produces NaN as COS value can reside  
// between -1 to +1 both inclusive 
$val3 = acos(-1.01);  
  
echo var_dump(is_finite($val1), is_finite($val2),  
                            is_finite($val3))."\n"; 
echo var_dump(is_infinite($val1), is_infinite($val2),  
                          is_infinite($val3))."\n"; 
echo var_dump(is_nan($val1), is_nan($val2),  
                        is_nan($val3))."\n"; 
                          
?>

输出:

bool(true) bool(false) bool(false) 
bool(false) bool(true) bool(false) 
bool(false) bool(false) bool(true) 

注意事项

  • 此函数还可以检查表达式是否产生有限结果,但是如果导致NaN的表达式本身显示PHP并显示错误并返回默认FALSE(例如,检查被零除的表达式)。
  • is_finite()函数在许多项目中使用,以使其更加安全,高效。
  • 这些方法产生高度准确的结果,但时间效率不高。


相关用法


注:本文由纯净天空筛选整理自PronabM大神的英文原创作品 PHP | is_finite(), is_infinite(), is_nan() Functions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。