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

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 這應該不是我們想要的結果
!去下營經續永站本助幫能就下一點輕輕,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,輕輕點一下就能幫助本站永續經營下去!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。