溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何判斷是否為整數(shù)字符串

發(fā)布時(shí)間:2023-02-03 10:58:18 來(lái)源:億速云 閱讀:150 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹了php如何判斷是否為整數(shù)字符串的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇php如何判斷是否為整數(shù)字符串文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

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

php判斷一個(gè)字符串是否為整數(shù)字符串

方法1:用is_numeric()函數(shù)和strpos()函數(shù)進(jìn)行判斷

只需判斷字符串是否為不包含小數(shù)點(diǎn)的數(shù)字字符串即可

示例:檢查字符串“a678”、“3.14”、“67854”是否為整數(shù)字符串。

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

php如何判斷是否為整數(shù)字符串

分析:

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

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

說(shuō)明:

intval() 函數(shù)

intval() 函數(shù)用于獲取變量的整數(shù)值。

intval() 函數(shù)通過(guò)使用指定的進(jìn)制 base 轉(zhuǎn)換(默認(rèn)是十進(jìn)制),返回變量 var 的 integer 數(shù)值。 intval() 不能用于 object,否則會(huì)產(chǎn)生 E_NOTICE 錯(cuò)誤并返回 1。

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

參數(shù)說(shuō)明:

  • $var:要轉(zhuǎn)換成 integer 的數(shù)量值。

  • $base:轉(zhuǎn)化所使用的進(jìn)制。

如果 base 是 0,通過(guò)檢測(cè) var 的格式來(lái)決定使用的進(jìn)制:

  • 如果字符串包括了 "0x" (或 "0X") 的前綴,使用 16 進(jìn)制 (hex);否則,

  • 如果字符串以 "0" 開(kāi)始,使用 8 進(jìn)制(octal);否則,

  • 將使用 10 進(jìn)制 (decimal)。

返回值

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

  • 最大的值取決于操作系統(tǒng)。 32 位系統(tǒng)最大帶符號(hào)的 integer 范圍是 -2147483648 到 2147483647。舉例,在這樣的系統(tǒng)上, intval('1000000000000') 會(huì)返回 2147483647。64 位系統(tǒng)上,最大帶符號(hào)的 integer 值是 9223372036854775807。

  • 字符串有可能返回 0,雖然取決于字符串最左側(cè)的字符。

方法2:使用intval()函數(shù)和“==”運(yùn)算符進(jìn)行判斷

只需要將字符串轉(zhuǎn)為整數(shù),然后判斷該整數(shù)和之前的字符串是否相等即可。

示例:

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

php如何判斷是否為整數(shù)字符串

分析:

  • 使用intval()函數(shù)將字符串轉(zhuǎn)為整數(shù)值

  • 使用“==”運(yùn)算符判斷整數(shù)值是否和原字符串相等

說(shuō)明:

is_numeric()函數(shù)

is_numeric() 函數(shù)用于檢測(cè)變量是否為數(shù)字或數(shù)字字符串。

bool is_numeric ( mixed $var )
  • $var:要檢測(cè)的變量。

返回值

  • 如果指定的變量是數(shù)字和數(shù)字字符串則返回 TRUE,否則返回 FALSE,注意浮點(diǎn)型返回 1,即 TRUE。

strpos()函數(shù)

strpos()函數(shù)查找字符串在另一字符串中第一次出現(xiàn)的位置(區(qū)分大小寫(xiě))。

strpos($string,$find,$start)
  • $string :必需。規(guī)定被搜索的字符串。

  • $find:必需。規(guī)定要查找的字符。

  • $start: 可選。規(guī)定開(kāi)始搜索的位置。

返回值:

  • 返回字符串在另一字符串中第一次出現(xiàn)的位置,如果沒(méi)有找到字符串則返回 FALSE。注釋: 字符串位置從 0 開(kāi)始,不是從 1 開(kāi)始。

關(guān)于“php如何判斷是否為整數(shù)字符串”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“php如何判斷是否為整數(shù)字符串”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI