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

Php 为什么preg_match()不返回数字格式?,php,Php,我知道这是一个简单的问题。我似乎找不到答案。我只想知道电话号码。。但它返回1。。我不确定我做错了什么。有什么帮助吗 $test = preg_match("/[0-9]/","(469) 552-6500"); 如果存在匹配项,则回显$test将返回1(true),如果不存在匹配项,则返回0(false),但必须在“指针”周围使用分隔符(/)。最好存储匹配的数组并根据返回的数组进行测试: $test = preg_match("/[0-9]/","(469) 552-6500", $match

我知道这是一个简单的问题。我似乎找不到答案。我只想知道电话号码。。但它返回1。。我不确定我做错了什么。有什么帮助吗

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

如果存在匹配项,则回显
$test
将返回1(true),如果不存在匹配项,则返回0(false),但必须在“指针”周围使用分隔符(
/
)。最好存储匹配的数组并根据返回的数组进行测试:

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

Array
(
    [0] => 4
)

如果存在匹配项,则回显
$test
将返回1(true),如果不存在匹配项,则返回0(false),但必须在“指针”周围使用分隔符(
/
)。最好存储匹配的数组并根据返回的数组进行测试:

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

Array
(
    [0] => 4
)

如果您试图只返回数字——我认为您应该使用
preg\u replace
。您还需要
/
和分隔符

echo preg_replace('/[^0-9]/', '', '(469) 552-6500');  
这将返回:

4695526500

如果您试图只返回数字——我认为您应该使用
preg\u replace
。您还需要
/
和分隔符

echo preg_replace('/[^0-9]/', '', '(469) 552-6500');  
这将返回:

4695526500

在正则表达式周围需要分隔符。检查documentation@miken32我试着加上it@miken32我尝试添加它,但它返回为1。你到底想返回什么?您是否尝试返回没有空格或括号的电话号码<代码>4695526500或者您是否正在尝试查找是否与任何数字匹配?你期望的结果是什么?我认为这个问题不清楚,因为你没有说你想要得到什么结果@JayBlanchard已经要求了,而您从未响应。您需要在正则表达式周围使用分隔符。检查documentation@miken32我试着加上it@miken32我尝试添加它,但它返回为1。你到底想返回什么?您是否尝试返回没有空格或括号的电话号码<代码>4695526500或者您是否正在尝试查找是否与任何数字匹配?你期望的结果是什么?我认为这个问题不清楚,因为你没有说你想要得到什么结果@JayBlanchard已经问过了,而你一直没有回答。OP正在努力确保他们有匹配项,而不是替换任何东西。但我知道你会怎么想。啊。。“我只想得到数字”——这是我读到的“问题”部分——这就是我为什么这么说的原因。如果是这样的话,那么你的答案是100%正确的。我会请他澄清的。很高兴我能帮忙。如果这解决了您的问题,您可以接受我的回答:)OP正在尝试确保他们有匹配项,而不是替换任何内容。但我知道你会怎么想。啊。。“我只想得到数字”——这是我读到的“问题”部分——这就是我为什么这么说的原因。如果是这样的话,那么你的答案是100%正确的。我会请他澄清的。很高兴我能帮忙。如果这解决了您的问题,您可以接受我的回答:)