Как извлечь числа из строки в PHP: удобное руководство

В PHP существует несколько методов извлечения чисел из строки. Независимо от того, имеете ли вы дело с пользовательским вводом, анализом данных или манипулированием строками, это руководство познакомит вас с различными подходами к извлечению числовых значений. Мы рассмотрим различные методы, дополненные примерами кода, которые помогут вам легко выполнить эту задачу. Итак, давайте углубимся и научимся хранить в строке PHP только числа!

Метод 1: использование регулярных выражений (регулярных выражений):
Регулярные выражения — это мощные инструменты для сопоставления с образцом. В PHP вы можете использовать функцию preg_replace для удаления нечисловых символов из строки. Вот пример:

$string = "Hello 123 World!";
$numbers = preg_replace('/[^0-9]/', '', $string);
echo $numbers; // Output: 123

Метод 2: использование расширения фильтра.
PHP предоставляет расширение фильтра, которое предлагает простой и эффективный способ извлечения чисел из строки. Функция filter_var в сочетании с FILTER_SANITIZE_NUMBER_INT может удалить все нечисловые символы. Посмотрите следующий фрагмент кода:

$string = "I have 4 apples and 3 oranges.";
$numbers = filter_var($string, FILTER_SANITIZE_NUMBER_INT);
echo $numbers; // Output: 43

Метод 3: использование функций strpbrk и strspn:
Функция strpbrk в PHP ищет в строке любой набор символов, а функция strspn находит длину начального сегмента, который полностью состоит из символов, содержащихся внутри данная маска. Вместе их можно использовать для извлечения чисел. Вот пример:

$string = "Hello 456 World!";
$numbers = strspn(strpbrk($string, "0123456789"), "0123456789");
echo $numbers; // Output: 456

Метод 4. Расчленение и фильтрация.
В этом методе мы разбиваем строку на массив слов с помощью функции разнесения, а затем отфильтровываем нечисловые элементы с помощью функции array_filter. Вот код:

$string = "The price is $19.99.";
$words = explode(' ', $string);
$numbers = array_filter($words, 'is_numeric');
echo implode('', $numbers); // Output: 1999

В этой статье мы рассмотрели различные методы извлечения чисел из строки в PHP. Мы рассмотрели методы использования регулярных выражений, расширения фильтра, строковых функций, таких как strpbrk и strspn, а также развертывания и фильтрации массивов. Вы можете выбрать метод, который лучше всего соответствует вашим конкретным требованиям и стилю кодирования.

Не забывайте правильно обрабатывать крайние случаи и учитывать возможные варианты форматов входных строк. Теперь, когда в вашем распоряжении целый ряд методов, вы можете уверенно манипулировать и извлекать числовые значения из строк в PHP. Приятного кодирования!