Как вынуть только числа из строки PHP?
Предположим, у меня есть эта строка:
$string = "Hello! 123 How Are You? 456";
Я хочу установить переменную $int
to $int = 123456;
как мне это сделать?
Пример 2:
$string = "12,456";
требуется:
$num = 12456;
спасибо!
4 ответов
правильным вариантом будет:
$string = "Hello! 123 How Are You? 456";
$int = intval(preg_replace('/[^0-9]+/', '', $string), 10);
вы можете использовать этот метод, чтобы выбрать только цифры, присутствующие в тексте
function returnDecimal($text) {
$tmp = "";
for($text as $key => $val) {
if($val >= 0 && $val <= 9){
$tmp .= $val
}
}
return $tmp;
}
использовать это регулярное выражение !\d!
<?php
$string = "Hello! 123 How Are You? 456";
preg_match_all('!\d!', $string, $matches);
echo (int)implode('',$matches[0]);
вы можете использовать следующие:
$array = [];
preg_match_all('/-?\d+(?:\.\d+)?+/', $string, $array);
где $string-введенная строка, а $array - каждое число (не цифра!, включая также отрицательные значения!) загружен и доступен для различных дополнительных операций.