php怎麼檢測字串是否為數位

2022-08-29 22:01:43

兩種檢測方法: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");

?>

1.png

方法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");
?>

2.png

說明:

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)
返回值:該函數返回:
  • 0 - 如果兩個字串相等
  • <0 - 如果 string1 小於 string2
  • >0 - 如果 string1 大於 string2

推薦學習:《》

VIP推薦:

以上就是php怎麼檢測字串是否為數位的詳細內容,更多請關注TW511.COM其它相關文章!