首页 >后端开发 >PHP问题 >php怎么过滤字符串只获取数字

php怎么过滤字符串只获取数字

青灯夜游
青灯夜游原创
2021-10-09 18:31:073386浏览

获取方法:1、使用for语句循环遍历字符串,在循环体中利用is_numeric()函数提取出数字字符并使用“.=”操作符拼接成新字符串。2、利用正则,使用“preg_replace("/[^0-9]/", "", $str)”语句。

php怎么过滤字符串只获取数字

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

方法1:利用is_numeric()函数

<?php
header("content-type:text/html;charset=utf-8");
function findNum($str) {
	$str = trim($str);
	if (empty($str)) {
		echo &#39;&#39;;
	}else{
		$result = &#39;&#39;;
		for ($i = 0; $i < strlen($str); $i++) {
			if (is_numeric($str[$i])) {
				$result .= $str[$i];
			}
		}
		echo $result;
	}
}
$str = &#39;0我是123456一段测试的字789符串0&#39;;
findNum($str);
?>
  • 利用for循环遍历字符串$str,使用is_numeric()函数判断$str[$i]是否为数字字符。is_numeric()函数可以检测变量是否为数字或数字字符串。

  • 在循环体中使用is_numeric($str[$i])判断该$str[$i]字符是不是数字字符;如果是则取出来,使用 “.=”拼接成数字子串。

看看输出结果:

01234567890

方法2:使用preg_replace()函数

<?php
$str =&#39;0我是123456一段测试的字789符串0&#39;;
$result = preg_replace("/[^0-9]/", "", $str);
echo $result;
?>

2.png

推荐学习:《PHP视频教程

以上是php怎么过滤字符串只获取数字的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn