Oct
6

Как извлечь число из строки с помощью PHP

10/06/2023 01:37 AM по Admin в Php


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:

  • The regular expression /[0-9]+/ searches for one or more consecutive digits.
  • The preg_match_all() function searches the string for all occurrences of the regular expression and stores the matches in the $matches array.
  • The 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/ соответствует любому нецифровому символу.
  • Функция preg_replace() заменяет все нецифровые символы пустой строкой, эффективно удаляя их из строки.

Есть еще один способ, однако он не такой надежный, как два вышеописанных варианта. Мы можем использовать встроенную функцию 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

Твои мысли

Поиск
СПОНСОР
КРИПТОВАТЧ
ПОДПИСЫВАЙТЕСЬ НА НАС
ОБЪЯВЛЕНИЯ

Добавлен новый инструмент: Калькулятор размеров масштабирования SVG.

СПОНСОР