php提取字符串中的数字(三种方法)

近日工作中需要在一串字符串中将所有的数字提取出来这么一个小功能,研究了一下发现方法还挺多,值得记录一下,于是对如何使用PHP将字符串中的数字提取出来的功能做了一个小总结,总结三种方法如下:

第一种方法,使用正则表达式:

  1. function findNum($str=''){ 
  2.     $str=trim($str); 
  3.     if(empty($str)){return '';} 
  4.     $reg='/(\d{3}(\.\d+)?)/is';//匹配数字的正则表达式 
  5.     preg_match_all($reg,$str,$result); 
  6.     if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){ 
  7.         return $result[1][0]; 
  8.     } 
  9.     return ''

第二种方法,使用in_array方法:

  1. function findNum($str=''){ 
  2.     $str=trim($str); 
  3.     if(empty($str)){return '';} 
  4.     $temp=array('1','2','3','4','5','6','7','8','9','0'); 
  5.     $result=''
  6.     for($i=0;$i<strlen($str);$i++){ 
  7.         if(in_array($str[$i],$temp)){ 
  8.             $result.=$str[$i]; 
  9.         } 
  10.     } 
  11.     return $result

第三种方法,使用is_numeric函数:

  1. function findNum($str=''){ 
  2.     $str=trim($str); 
  3.     if(empty($str)){return '';} 
  4.     $result=''
  5.     for($i=0;$i<strlen($str);$i++){ 
  6.         if(is_numeric($str[$i])){ 
  7.             $result.=$str[$i]; 
  8.         } 
  9.     } 
  10.     return $result

转载请注明:代码家园 » php提取字符串中的数字(三种方法)

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)