您好,登錄后才能下訂單哦!
這篇文章主要介紹了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");
?>
分析:
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");
?>
分析:
使用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è)資訊頻道。
免責(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)容。