How to extract the first set of numbers in a string using PHP

Other ways to extract numbers from strings in PHP

The first method, using regular expressions:

function findNum($str=”){
$str=trim($str);
if(empty($str)){return ”;}
$reg=’/(\d{3}(.\d+)?)/is’;//Regular expression matching numbers
preg_match_all($reg,$str,$result);
if(is_array($result)&&!empty($result)&&!empty($result[1])&&!empty($result[1][0])){
return $result[1][0];
}
return ”;
}

The second method, using the in_array method:

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

The third method, using the is_numeric function:

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

E.g:

//Intercept the number 2 in the string
$str = ‘Q coins 2’;
$result=”;
for($i=0;$i<strlen($str);$i++){
if(is_numeric($str[$i])){
$result.=$str[$i];
}
}
print_r($result);die;
// output result 2

Leave a Reply

Your email address will not be published.

en_USEnglish