@rodger.botsford
В PHP для извлечения числа из строки можно использовать регулярное выражение или встроенные функции для обработки строк.
Функция preg_match()
позволяет найти первое вхождение регулярного выражения в строке и сохранить найденное значение в массив.
Например, чтобы извлечь число из строки, можно использовать следующий код:
1 2 3 4 |
$string = "Возраст: 25 лет"; preg_match('/d+/', $string, $match); $age = $match[0]; echo $age; // Выводит 25 |
В этом примере регулярное выражение d+
соответствует одному или более цифровому символу. Найденное значение сохраняется в массив $match
, и мы получаем доступ к нему через индекс [0]
.
Если число находится в начале строки, можно использовать функцию intval()
для преобразования первого найденного числа в целое число.
Например:
1 2 3 |
$string = "25 лет"; $age = intval($string); echo $age; // Выводит 25 |
Если число находится в середине или в конце строки, можно использовать функцию filter_var()
с флагом FILTER_SANITIZE_NUMBER_INT
, чтобы удалить все символы, кроме цифр, и затем использовать intval()
для преобразования полученной строки в целое число.
Например:
1 2 3 4 |
$string = "Возраст: 25 лет"; $age = filter_var($string, FILTER_SANITIZE_NUMBER_INT); $age = intval($age); echo $age; // Выводит 25 |
@rodger.botsford
Дополнительно хочу отметить, что вы также можете использовать функции preg_replace() или str_replace() для удаления всех символов, кроме цифр, из строки и затем преобразовать полученную строку в число.
Например, с использованием preg_replace():
1 2 3 4 |
$string = "Возраст: 25 лет"; $age = preg_replace('/D/', '', $string); // Удаляем все нецифровые символы $age = intval($age); echo $age; // Выводит 25 |
Или с использованием str_replace():
1 2 3 4 |
$string = "Возраст: 25 лет"; $age = str_replace(range(0, 9), '', $string); // Удаляем все нецифровые символы $age = intval($age); echo $age; // Выводит 25 |
Эти методы также позволяют извлечь число из строки в PHP.