📅  最后修改于: 2023-12-03 15:33:36.447000             🧑  作者: Mango
在进行字符串操作的过程中,有时候需要从字符串中仅获取数字。比如,如果你要从用户输入的字符串中仅提取数值,你需要在字符串中过滤掉所有的其他字符。本篇文章将介绍在 PHP 中从字符串中仅获取数字的方法。
preg_replace
过滤在 PHP 中,正则表达式为 preg_replace
可以过滤掉不需要的字符。使用 preg_replace
将所有不是数字的字符从字符串中过滤掉,可以很方便地从字符串中仅获取数字。例如:
$str = "a1b2c3";
$num = preg_replace("/[^0-9]/", "", $str);
echo $num; // 输出123
上述代码使用 /[^0-9]/
的正则表达式,表示过滤掉所有非数字的字符。第二个参数是空字符串,即把所有过滤掉的字符替换为空字符串。
filter_var
过滤filter_var
函数可以使用 PHP 过滤器来对数据进行验证和过滤。使用 filter_var
过滤出字符串中的数字也很方便。例如:
$str = "a1b2c3";
$num = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
echo $num; // 输出123
上述代码使用 FILTER_SANITIZE_NUMBER_INT
的过滤器,表示过滤字符串中的所有数字(0-9)之外的非数字字符。
还可以使用其他的方式从字符串中仅获取数字,如 ctype_digit
函数、 str_replace
函数等。这里不再一一介绍。
以上就是在 PHP 中从字符串中仅获取数字的方法。使用 preg_replace
或 filter_var
函数可以非常方便地实现。