In PHP, you can extract numbers from a string using regular expressions and the preg_match_all()
function. Here's an example of how to extract all numbers from a string:
$my_string = "There are 15 Oranges and 3 Bananas.";
preg_match_all('/[0-9]+/', $my_string , $matches);
print_r($matches[0]);
This will output:
Array ( [0] => 15 [1] => 3 )
Explanation:
/[0-9]+/
searches for one or more consecutive digits.preg_match_all()
function searches the string for all occurrences of the regular expression and stores the matches in the $matches
array.print_r()
function is used to display the contents of the array.Вы также можете использовать функцию preg_replace() для удаления нечисловых символов из строки и сохранения только цифр:
$string = "There are 15 Oranges and 3 Bananas.";
$numbers = preg_replace('/D/', '', $string);
echo $numbers;
Это выведет:
15 3
Объяснение:
/D/
соответствует любому нецифровому символу.Есть еще один способ, однако он не такой надежный, как два вышеописанных варианта. Мы можем использовать встроенную функцию PHP filter_var() для извлечения целого числа из строки.
$string = "There are 15 Oranges and 3 Bananas.";
// extract numbers from string
$my_int = (int)filter_var($string ,FILTER_SANITIZE_NUMBER_INT);
echo $my_int;
Это выведет:
153