提取字符串中的数字

:-}
PHP提取字符串中的第一组数字

<?php
    $str='acc123nmnm4545';
    if(preg_match('/d+/',$str,$arr)){
      var_dump($arr);
    }
    //结果:
    //array(1) {
    //[0]=>
    //string(3) "123"
    }
?>

PHP提取字符串中的数字的其它方法

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

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方法:

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函数:

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;
}