1. Home
  2. /
  3. Web technology
  4. /
  5. PHP
  6. /
  7. [ PHP ] –...

[ PHP ] – is_numeric() 與 is_int() 差異

評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 1,平均評等: 1]

is_numeric() 與 is_int() 這兩個函式都是去判斷變數是否為數字,看來好像差不多用的,但其實他們之間是存在差異性的;請看以下程式範例。

$check=array('12345',12345,123.45,'12345abc');
echo ' array(\'12345\',12345,123.45,\'12345abc\')) <br>';
foreach($check as $value){
	echo '( '.gettype($value).' ) '.$value.' is_numeric ? : '.(is_numeric($value)?'TRUE':'FALSE').'<br>';
	echo '( '.gettype($value).' ) '.$value.' is_int ? : '.(is_int($value)?'TRUE':'FALSE').'<br>';
}
//PHP 有個特性 在使用 is_xxx 函式時,若直接echo 判斷結果 true 的話 會輸出 1 false 則是 空字串
//所以我們要在判斷式後面自行加上不同結果所要回傳的字串 'TRUE':'FALSE'
//gettype 函式為取得變數型態
//顯示結果
/*
array('12345',12345,123.45,'12345abc'))
( string ) 12345 is_numeric ? : TRUE
( string ) 12345 is_int ? : FALSE
( integer ) 12345 is_numeric ? : TRUE
( integer ) 12345 is_int ? : TRUE
( double ) 123.45 is_numeric ? : TRUE
( double ) 123.45 is_int ? : FALSE
( string ) 12345abc is_numeric ? : FALSE
( string ) 12345abc is_int ? : FALSE
*/
//發現有差異的地方了嗎?( string ) 12345 is_numeric ? : TRUE 這應該不是我們想要的結果

評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 1,平均評等: 1]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *