php怎麼判斷字串是不是整數

2022-08-12 22:03:17

兩種方法:1、用intval()將字串轉為整數值,再用「==」運運算元判斷整數值是否和原字串相等,語法「intval($str)==$str」,相等則是整數。2、用is_numeric()和strpos()判斷字串是否為不包含小數點的數位字串,語法「!is_numeric($str)||strpos($str,".")!==false」,返回false則是整數,反之不是。

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php判斷字串是不是整數的兩種方法

方法1:使用intval()函數和「==」運運算元進行判斷

  • 使用intval()函數將字串轉為整數值

  • 使用「==」運運算元判斷整數值是否和原字串相等

<?php
header("Content-type:text/html;charset=utf-8");
function f($str){
	$result = intval($str);
	if($result==$str){
    	echo "$str 字串是整數<br><br>";
	}
	else{
	    echo "$str 字串不是整數<br><br>" ;
	}
}

f("a678");
f("678");
f("3.14");
?>

1.png

方法2:使用is_numeric()函數和strpos()函數進行判斷

  • 用is_numeric()函數判斷是否為數位或數位字串(整數和浮點數)

  • 用strpos()判斷數位中是否含有小數點--排除浮點數

只需判斷字串是否為不包含小數點的數位字串即可

<?php
header("Content-type:text/html;charset=utf-8");
function f($str){
	if(!is_numeric($str)||strpos($str,".")!==false){
	  echo "$str 字串不是整數<br><br>";
	}else{
	  echo "$str 字串是整數<br><br>";
	}
}

f("a678");
f("3.14");
f("67854");
?>

2.png

說明:

intval() 函數

intval() 函數用於獲取變數的整數值。

intval() 函數通過使用指定的進位制 base 轉換(預設是十進位制),返回變數 var 的 integer 數值。 intval() 不能用於 object,否則會產生 E_NOTICE 錯誤並返回 1。

int intval ( mixed $var [, int $base = 10 ] )

引數說明:

  • $var:要轉換成 integer 的數量值。

  • $base:轉化所使用的進位制。

如果 base 是 0,通過檢測 var 的格式來決定使用的進位制:

  • 如果字串包括了 "0x" (或 "0X") 的字首,使用 16 進位制 (hex);否則,

  • 如果字串以 "0" 開始,使用 8 進位制(octal);否則,

  • 將使用 10 進位制 (decimal)。

返回值

  • 成功時返回 var 的 integer 值,失敗時返回 0。 空的 array 返回 0,非空的 array 返回 1。

  • 最大的值取決於作業系統。 32 位系統最大帶符號的 integer 範圍是 -2147483648 到 2147483647。舉例,在這樣的系統上, intval('1000000000000') 會返回 2147483647。64 位系統上,最大帶符號的 integer 值是 9223372036854775807。

  • 字串有可能返回 0,雖然取決於字串最左側的字元。

is_numeric()函數

is_numeric() 函數用於檢測變數是否為數位或數位字串。

bool is_numeric ( mixed $var )

引數說明:

  • $var:要檢測的變數。

返回值

  • 如果指定的變數是數位和數位字串則返回 TRUE,否則返回 FALSE,注意浮點型返回 1,即 TRUE。

strpos()函數

strpos()函數查詢字串在另一字串中第一次出現的位置(區分大小寫)。

strpos($string,$find,$start)

引數說明:

  • $string :必需。規定被搜尋的字串。

  • $find:必需。規定要查詢的字元。

  • $start: 可選。規定開始搜尋的位置。

返回值:

  • 返回字串在另一字串中第一次出現的位置,如果沒有找到字串則返回 FALSE。註釋: 字串位置從 0 開始,不是從 1 開始。

推薦學習:《》

以上就是php怎麼判斷字串是不是整數的詳細內容,更多請關注TW511.COM其它相關文章!