php从字符串中提取数字的几种方法

时间:2017-07-28
本文章向大家介绍php从字符串中提取数字的几种方法,需要的朋友可以参考一下。

我想从包含数字和字母的字符串中提取数字,如:

"In My Cart : 11 items"

我想在这里得到号码11或任何其他号码。

有什么方法可以解决吗?

方法一:正则表达式

$str = 'In My Cart : 11 12 items';
preg_match_all('!\d+!', $str, $matches);
print_r($matches);

preg_replace('/[^0-9]/', '', $string);

方法二:

如果您只想过滤除数字以外的所有内容,最简单的方法是使用filter_var:

$str = 'In My Cart : 11 items';
$int = (int) filter_var($str, FILTER_SANITIZE_NUMBER_INT);

方法三:

根据您的使用情况,这也可能是一个选项,虽然我同意正则表达式或者filter_var()

$str = 'In My Cart : 11 items';
$num = '';

for ($i = 0; $i < strlen($str); $i++) {

    if (is_numeric($str[$i])) {
        $num .= $str[$i];
    }
}

echo $num; // 11