當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。