溫馨提示×

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

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

php如何檢測(cè)字符串是否為數(shù)字

發(fā)布時(shí)間:2022-08-30 09:31:59 來(lái)源:億速云 閱讀:283 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹“php如何檢測(cè)字符串是否為數(shù)字”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“php如何檢測(cè)字符串是否為數(shù)字”文章能幫助大家解決問(wèn)題。

兩種檢測(cè)方法:1、使用is_numeric()函數(shù),可以檢測(cè)一個(gè)字符串是否為數(shù)字字符串,語(yǔ)法“is_numeric(字符串)”,返回TRUE則是,反之則不是。2、將字符串強(qiáng)制轉(zhuǎn)為數(shù)字類型,再將數(shù)字與原字符串進(jìn)行比較,判斷是否相等,語(yǔ)法“strcmp((float)$str,$str)==0”,返回TRUE則是,反之則不是。

php如何檢測(cè)字符串是否為數(shù)字

本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦

方法1:使用is_numeric()函數(shù)檢測(cè)

字符串只含數(shù)字,則該字符串為數(shù)字字符串。

而is_numeric()函數(shù)可以檢測(cè)一個(gè)字符串是否為數(shù)字字符串。

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

如果指定的變量$var是數(shù)字和數(shù)字字符串則返回 TRUE,否則返回 FALSE。注意浮點(diǎn)型返回 1,即 TRUE。(即可以檢查整數(shù)和小數(shù))。

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

?>

php如何檢測(cè)字符串是否為數(shù)字

方法2:強(qiáng)制類型轉(zhuǎn)換并比較是否相等

  • 通過(guò)強(qiáng)制轉(zhuǎn)換類型,將字符串轉(zhuǎn)為數(shù)字類型

  • 將數(shù)字與原字符串進(jìn)行比較,看看是否相等

    相等,則原字符串是數(shù)字字符串。

<?php
header("Content-type:text/html;charset=utf-8");
function f($str){
	$num=(float)$str;
	if (strcmp($num,$str)==0){
    	echo "$str 是數(shù)字字符串<br><br>";
	}
	else{
	    echo "$str 不是數(shù)字字符串<br><br>" ;
	}
}
f("3.14");
f("a678");
f("678");
f("23d5");
?>

php如何檢測(cè)字符串是否為數(shù)字

說(shuō)明:

1、強(qiáng)制類型轉(zhuǎn)換

只需在要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類型,括號(hào)中允許使用的變量類型如下所示:

  • (int)、(integer):轉(zhuǎn)換成整型;

  • (bool)、(boolean):轉(zhuǎn)換成布爾類型;

  • (float)、(double)、(real):轉(zhuǎn)換成浮點(diǎn)類型;

  • (string):轉(zhuǎn)換成字符串類型;

  • (array):轉(zhuǎn)換成數(shù)組類型;

  • (object):轉(zhuǎn)換成對(duì)象類型。

<?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);
?>

php如何檢測(cè)字符串是否為數(shù)字

2、strcmp() 函數(shù)

strcmp() 函數(shù)比較兩個(gè)字符串。

strcmp(string1,string2)
返回值:該函數(shù)返回:
  • 0 - 如果兩個(gè)字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

關(guān)于“php如何檢測(cè)字符串是否為數(shù)字”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向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