为什么preg_match()不返回数字格式?

时间:2018-11-05 18:00:52

标签: php

我知道这是一个简单的问题。我似乎找不到答案。我试图仅获取数字..但它返回1 ..我不确定自己在做什么错。任何帮助

$test = preg_match("/[0-9]/","(469) 552-6500");

2 个答案:

答案 0 :(得分:3)

如果您只想返回数字,我认为您应该使用preg_replace。另外,您还需要/和定界符。

echo preg_replace('/[^0-9]/', '', '(469) 552-6500');  

这将返回:

4695526500

答案 1 :(得分:2)

如果有匹配项,则返回$test将返回1(true),如果没有匹配项,则返回0(false),但是必须在“ needle”周围使用定界符(/)。最好存储匹配的数组并针对返回的数组进行测试:

$test = preg_match("/[0-9]/","(469) 552-6500", $matches);
print_r($matches);

返回:

Array
(
    [0] => 4
)