Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php怎么检测字符串是否为数字

php怎么检测字符串是否为数字

青灯夜游
青灯夜游asal
2022-08-29 19:21:535373semak imbas

两种检测方法:1、使用is_numeric()函数,可以检测一个字符串是否为数字字符串,语法“is_numeric(字符串)”,返回TRUE则是,反之则不是。2、将字符串强制转为数字类型,再将数字与原字符串进行比较,判断是否相等,语法“strcmp((float)$str,$str)==0”,返回TRUE则是,反之则不是。

php怎么检测字符串是否为数字

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

方法1:使用is_numeric()函数检测

字符串只含数字,则该字符串为数字字符串。

而is_numeric()函数可以检测一个字符串是否为数字字符串。

is_numeric ($var)
  • $var:要检测的变量。

如果指定的变量$var是数字和数字字符串则返回 TRUE,否则返回 FALSE。注意浮点型返回 1,即 TRUE。(即可以检查整数和小数)。

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

?>

1.png

方法2:强制类型转换并比较是否相等

  • 通过强制转换类型,将字符串转为数字类型

  • 将数字与原字符串进行比较,看看是否相等

    相等,则原字符串是数字字符串。

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

2.png

说明:

1、强制类型转换

只需在要转换的变量之前加上用括号括起来的目标类型,括号中允许使用的变量类型如下所示:

  • (int)、(integer):转换成整型;

  • (bool)、(boolean):转换成布尔类型;

  • (float)、(double)、(real):转换成浮点类型;

  • (string):转换成字符串类型;

  • (array):转换成数组类型;

  • (object):转换成对象类型。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;123.456abc&#39;;
echo &#39;原变量 $str 的类型为:&#39;.gettype($str)."<br>";
$int = (int)$str;
echo &#39;变量 $int 的类型为:&#39; . gettype($int) . &#39;<br>&#39;;
$float = (float)$str;
echo &#39;变量 $float 的类型为:&#39; . gettype($float) . &#39;<br>&#39;;
$bool = (bool)$str;
echo &#39;变量 $bool 的类型为:&#39; . gettype($bool). &#39;<br>&#39;;
$arr = (array)$str;
echo &#39;变量 $arr 的类型为:&#39; . gettype($arr);
?>

php怎么检测字符串是否为数字

2、strcmp() 函数

strcmp() 函数比较两个字符串。

strcmp(string1,string2)
返回值: 该函数返回:
  • 0 - 如果两个字符串相等
  • 3af7d910e7312e9b701956986f6b08c30 - 如果 string1 大于 string2

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci php怎么检测字符串是否为数字. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn