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

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

$check=array('12345',12345,123.45,'12345abc');
echo ' array(\'12345\',12345,123.45,\'12345abc\')) 
'; foreach($check as $value){ echo '( '.gettype($value).' ) '.$value.' is_numeric ? : '.(is_numeric($value)?'TRUE':'FALSE').'
'; echo '( '.gettype($value).' ) '.$value.' is_int ? : '.(is_int($value)?'TRUE':'FALSE').'
'; } //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 這應該不是我們想要的結果
⇩⇩⇩!謝感,去下營經續繼費經夠足有才告廣擊點人五有要需少最天一,告廣擊點我幫請,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,請幫我點擊廣告,一天最少需要有五人點擊廣告才有足夠經費繼續經營下去,感謝! ⇧⇧⇧

發佈留言

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