Open In App

How to extract numbers from string in PHP ?

Last Updated : 21 May, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will extract numbers from strings using PHP. There are various built-in methods to extract numbers from strings, some of them are discussed below.

Methods:

Method 1: Using preg_match_all() Function.

Note:  preg_match() function is used to extract numbers from a string. Usually, the search starts from the beginning of the subject string. The optional parameter offset is used to specify the position from where to start the search.

Syntax:

int preg_match( $pattern, $input, $matches, $flags, $offset )

Return value: It returns true if a pattern exists, otherwise false.

Example 1: The following example extracts Integer Numbers using the preg_match_all() function.

PHP




<?php
// PHP program to illustrate
// preg_match function
// Declare a variable and initialize it
$geeks = 'Welcome 2 Geeks 4 Geeks.';
  
// Use preg_match_all() function to check match
preg_match_all('!\d+!', $geeks, $matches);
  
// print output of function
print_r($matches);
  
?>


Output

Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 4
        )

)

Example 2: The following example extracts decimal numbers using the preg_match_all() function.

PHP




<?php
// Declare a variable and initialize it
$geeks = 'Welcome 2 Geeks 4.8 Geeks.';
  
// Use preg_match_all() function to check match
preg_match_all('!\d+\.*\d*!', $geeks, $matches);
  
// Display matches result
print_r($matches);
  
?>


Output

Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 4.8
        )

)

Method 2: Using filter_var() function.

Note: The filter_var() function filters a variable with the specified filter. This function is used to both validate and sanitize the data.

Syntax:

filter_var(var, filtername, options)

Return Value: It returns the filtered data on success, or FALSE on failure.

Example:

PHP




<?php
// PHP program to illustrate filter_var Function
// Declare a variable and initialize it
$geeks = 'Welcome 2 Geeks 4 Geeks.';
  
// Filter the Numbers from String
$int_var = (int)filter_var($geeks, FILTER_SANITIZE_NUMBER_INT);
  
// print output of function
echo ("The numbers are: $int_var \n");
  
?>


Output

The numbers are: 24 

Method 3: Using  preg_replace() function.

Note: The preg_replace() function is an inbuilt function in PHP that is used to perform a regular expression for search and replace the content.

Syntax:

preg_replace( $pattern, $replacement, $subject, $limit, $count )

Return Value: This function returns an array if the subject parameter is an array, or a string otherwise.

Example:

PHP




<?php
  
    // PHP program to illustrate
   // preg_replace function
  
   // Declare a variable and initialize it
   $geeks = 'Welcome 2 Geeks 4 Geeks.';
  
  // Filter the Numbers from String
  $int_var = preg_replace('/[^0-9]/', '', $geeks);  
  
   // print output of function
   echo("The numbers are: $int_var \n"); 
  
  
?>


Output

The numbers are: 24 


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads