php提取字符串中的数字(三种方法)
如何使用PHP将字符串中的数字提取出来的功能做了一个小总结,总结三种方法如下:
第一种方法,使用正则表达式:
1 2 3 4 5 6 7 8 9 10 | function findNum($str=‘‘){ $str=trim($str); if(empty($str)){return ‘‘;} $reg=‘/(\d{3}(\.\d+)?)/is‘;//匹配数字的正则表达式 preg_match_all($reg,$str,$result); if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){ return $result[1][0]; } return ‘‘; } |
第二种方法,使用in_array方法:
1 2 3 4 5 6 7 8 9 10 11 12 | function findNum($str=‘‘){ $str=trim($str); if(empty($str)){return ‘‘;} $temp=array(‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘0‘); $result=‘‘; for($i=0;$i<strlen($str);$i++){ if(in_array($str[$i],$temp)){ $result.=$str[$i]; } } return $result; } |
第三种方法,使用is_numeric函数:
1 2 3 4 5 6 7 8 9 10 11 | function findNum($str=‘‘){ $str=trim($str); if(empty($str)){return ‘‘;} $result=‘‘; for($i=0;$i<strlen($str);$i++){ if(is_numeric($str[$i])){ $result.=$str[$i]; } } return $result; } |
$a
=
‘你19啊你15啊你16啊‘
;
$b
=preg_match_all(
‘/\d+/‘
,
$a
,
$arr
);
print_r(
$arr
);
$arr中放置的就是取到的数字,只取一个的话 可以把preg_match_all换成preg_match
php提取字符串中的数字
原文地址:https://www.cnblogs.com/lxwphp/p/9816665.html