使用php处理网站或者数据库内容的时候,经常会有需要提取一些字符串中数字的需求,这里整理一下一些最常用的使用php从字符串中提取数字的方法。
①使用php提取一段字符串中的第一组数字
<?php $str='rtgt666frfg999fcrefgr'; if(preg_match('/\d+/',$str,$arr)){ echo $arr[0];//结果输出第一组数字666 } ?>
②php中使用正则表达式来提取字符串中的数字
<?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 ''; } ?>
③php中使用in_array提取字符串中数字的方法
<?php 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; } ?>
④php中使用is_numeric函数来提取字符串中数字
<?php 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; } ?>
实例:
<?php $str ='您是第6位访客'; $result=''; for($i=0;$i<strlen($str);$i++){ if(is_numeric($str[$i])){ $result.=$str[$i]; } } print_r($result);die; //输出结果 6 ?>