📜  php 仅从字符串中获取数字 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:36.447000             🧑  作者: Mango

从字符串中仅获取数字 - PHP

在进行字符串操作的过程中,有时候需要从字符串中仅获取数字。比如,如果你要从用户输入的字符串中仅提取数值,你需要在字符串中过滤掉所有的其他字符。本篇文章将介绍在 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_replacefilter_var 函数可以非常方便地实现。