1. 程式人生 > >php提取字符串中的數字

php提取字符串中的數字

temp con 使用 正則表達式 ner ray 就是 comm codec

php提取字符串中的數字(三種方法)

2016-06-20 20:28:58 峰尚 1,755 次 0

如何使用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提取字符串中的數字