2016-06-20 20:28:58 峰尚 1,755 次
如何使用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; }
|
$arr中放置的就是取到的数字,只取一个的话 可以把preg_match_all换成preg_match
相关文章:
-
2022-01-01
-
2022-12-23
-
2022-12-23
-
2021-12-22
-
2022-03-01