您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何檢測字符串是否為數字”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php如何檢測字符串是否為數字”文章能幫助大家解決問題。
兩種檢測方法: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)
返回值: | 該函數返回:
|
---|
關于“php如何檢測字符串是否為數字”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。