php解答:php字符串怎么只留下数字

 所属分类:php教程

 浏览:150次-  评论: 0次-  更新时间:2022-09-26
描述:更多教程资料进入php教程获得。 2种方法:1、用for遍历字符串,在循环体中将数字字符拼接成一个子串,语法“for($i=0;$i<字符串长度;$i++){...
更多教程资料进入php教程获得。

2种方法:1、用for遍历字符串,在循环体中将数字字符拼接成一个子串,语法“for($i=0;$i<字符串长度;$i++){if(is_numeric($str[$i])){$r.=$str[$i];}}”;2、用preg_replace()配合正则表达式来过滤字符,提取数字字符,语法“preg_replace("/[^0-9]/", "", $str)”。

php零基础到就业直播视频课:进入学习
程序员必备接口测试调试工具:立即使用

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

php字符串只留下数字的两种方法

方法1:使用for语句+is_numeric()+“.=”字符串拼接

<?php
header("content-type:text/html;charset=utf-8");
function findNum($str) {
	$str = trim($str);
	if (empty($str)) {
		echo '';
	}else{
		$result = '';
		for ($i = 0; $i < strlen($str); $i++) {
			if (is_numeric($str[$i])) {
				$result .= $str[$i];
			}
		}
		var_dump($result);
	}
}
$str = '0我是123456一段测试的字789符串0';
echo "原字符串:";
var_dump($str);
echo "过滤其他字符串后:";
findNum($str);
?>

分析一下上面的代码:

  • 利用for循环遍历字符串$str

  • 在循环体中使用is_numeric($str[$i])判断该$str[$i]字符是不是数字字符;

  • 如果是则取出来,使用 “.=”拼接成数字子串。

看看输出结果:

方法2、使用preg_replace()函数

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

分析一下上面的关键代码:

preg_replace("/[^0-9]/", "", $str)的意思为匹配除了0~9间的数字以外的字符,并将这些字符替换为空字符,即删除这些字符即可。那么就只剩下数字字符了,因此输出结果为:

我们来简单了解一下preg_replace()函数

preg_replace() 函数可以执行正则表达式的搜索和替换,是一个强大的字符串替换处理函数,该它的语法格式为“preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])”,表示搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换;可选参数 limit 用于设置最大可替换次数(默认值是-1,可无限制)。

推荐学习:《PHP视频教程》

以上就是php字符串怎么只留下数字的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: php,php字符串,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!