• 技术文章 >后端开发 >PHP问题

    php字符串怎么只留下数字

    青灯夜游青灯夜游2022-09-02 20:15:04原创634

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

    分析一下上面的代码:

    看看输出结果:

    方法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字符串怎么只留下数字的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php字符串
    上一篇:php怎么检测指定字符串中是否包含另一个字符串 下一篇:PHP中常用的魔术方法(总结分享)
    VIP课程(WEB全栈开发)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• PHP字符串学习之统计字符的出现次数• PHP字符串学习之反向输出全部字符• PHP字符串学习之将字符串分成更小长度的子串• php字符串怎么去掉“-”字符• php字符串怎么求指定字符出现次数• php字符串有哪几种定义方式
    1/1

    PHP中文网