首頁 > 後端開發 > PHP問題 > php怎麼判斷是否為整數字串

php怎麼判斷是否為整數字串

青灯夜游
發布: 2023-03-17 19:14:01
原創
1922 人瀏覽過

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

php怎麼判斷是否為整數字串

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

php判斷一個字串是否為整數字串

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

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

範例:檢查字串「a678」、「3.14」、「67854」是否為整數字串。

<?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");
?>
登入後複製

php怎麼判斷是否為整數字串

分析:

  • is_numeric()函數可以判斷是否為數字或數字字串,但無法檢查出該字符字串是否為整數,即此時字串可能是整數和浮點數;

  • 這樣就需要使用strpos()來判斷,利用該函數檢查數字字串中是否含有小數點,即可排除浮點數。

說明:

#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,雖然取決於字串最左邊的字元。
方法2:使用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("678");
f("678d");
f("a678");
f("3.14");
?>
登入後複製

php怎麼判斷是否為整數字串分析:

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

  • 使用「==」運算子判斷整數值是否和原始字串相等
##說明:


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影片教學》

以上是php怎麼判斷是否為整數字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板