兩種檢測方法:1、使用is_numeric()函數,可以檢測一個字串是否為數位字串,語法「is_numeric(字串)」,返回TRUE則是,反之則不是。2、將字串強制轉為數位型別,再將數位與原字串進行比較,判斷是否相等,語法「strcmp((float)$str,$str)==0」,返回TRUE則是,反之則不是。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
方法1:使用is_numeric()函數檢測
字串只含數位,則該字串為數位字串。
而is_numeric()函數可以檢測一個字串是否為數位字串。
is_numeric ($var)
$var:要檢測的變數。
如果指定的變數$var是數位和數位字串則返回 TRUE,否則返回 FALSE。注意浮點型返回 1,即 TRUE。(即可以檢查整數和小數)。
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ if (is_numeric($str)){ echo "$str 是數位字串<br><br>"; } else{ echo "$str 不是數位字串<br><br>" ; } } f("a678"); f("678"); f("3.14"); ?>
方法2:強制型別轉換並比較是否相等
通過強制轉換型別,將字串轉為數位型別
將數位與原字串進行比較,看看是否相等
相等,則原字串是數位字串。
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ $num=(float)$str; if (strcmp($num,$str)==0){ echo "$str 是數位字串<br><br>"; } else{ echo "$str 不是數位字串<br><br>" ; } } f("3.14"); f("a678"); f("678"); f("23d5"); ?>
說明:
1、強制型別轉換
只需在要轉換的變數之前加上用括號括起來的目標型別,括號中允許使用的變數型別如下所示:
(int)、(integer):轉換成整型;
(bool)、(boolean):轉換成布林型別;
(float)、(double)、(real):轉換成浮點型別;
(string):轉換成字串型別;
(array):轉換成陣列型別;
(object):轉換成物件型別。
<?php header('content-type:text/html;charset=utf-8'); $str = '123.456abc'; echo '原變數 $str 的型別為:'.gettype($str)."<br>"; $int = (int)$str; echo '變數 $int 的型別為:' . gettype($int) . '<br>'; $float = (float)$str; echo '變數 $float 的型別為:' . gettype($float) . '<br>'; $bool = (bool)$str; echo '變數 $bool 的型別為:' . gettype($bool). '<br>'; $arr = (array)$str; echo '變數 $arr 的型別為:' . gettype($arr); ?>
2、strcmp() 函數
strcmp() 函數比較兩個字串。
strcmp(string1,string2)
返回值: | 該函數返回:
|
---|
推薦學習:《》
VIP推薦:
以上就是php怎麼檢測字串是否為數位的詳細內容,更多請關注TW511.COM其它相關文章!