获取方法:1、使用for语句循环遍历字符串,在循环体中利用is_numeric()函数提取出数字字符并使用“.=”操作符拼接成新字符串。2、利用正则,使用“preg_replace("/[^0-9]/", "", $str)”语句。
本教程操作环境: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 ''; }else{ $result = ''; for ($i = 0; $i < strlen($str); $i++) { if (is_numeric($str[$i])) { $result .= $str[$i]; } } echo $result; } } $str = '0我是123456一段测试的字789符串0'; findNum($str); ?>
利用for循环遍历字符串$str,使用is_numeric()函数判断$str[$i]
是否为数字字符。is_numeric()函数可以检测变量是否为数字或数字字符串。
在循环体中使用is_numeric($str[$i])判断该$str[$i]字符是不是数字字符;如果是则取出来,使用 “.=”拼接成数字子串。
看看输出结果:
01234567890
方法2:使用preg_replace()函数
<?php $str ='0我是123456一段测试的字789符串0'; $result = preg_replace("/[^0-9]/", "", $str); echo $result; ?>
推荐学习:《PHP视频教程》
以上是php怎么过滤字符串只获取数字的详细内容。更多信息请关注PHP中文网其他相关文章!