preg_match_all不返回任何内容

时间:2013-06-26 14:14:32

标签: regex preg-match-all

我希望你能帮助我。我对这个问题感到很困惑。不知怎的,我的preg_match_all没有返回任何东西。它应该返回错误或整数,但它不会。 Error_reporting已经开启,所有内容,我只是想不出任何与此相关的内容。

echo $string = '234,2345,34534,223'.'<br>';
echo preg_match_all('/,[0-9][0-9]/', $string).'<br>';

你可以看到$ string,但第二个echo没有做任何事情。我想你需要更多的信息,但我不知道这个问题在哪里。

编辑: 运行PHP 4.3

2 个答案:

答案 0 :(得分:1)

preg_match_all会返回找到的匹配数字,或FALSE。如果要查看结果,您希望传入第三个参数,一个引用的数组和print_r

echo $string = '234,2345,34534,223'.'<br>';
preg_match_all('/,[0-9][0-9]/', $string, $matches);
print_r($matches);

(另外,您使用$string然后$test,但我认为这只是问题中的拼写错误。)

答案 1 :(得分:0)

您需要在preg_match_all中提供第三个参数作为捕获数组,并首先检查其返回值。像这样使用它:

if (preg_match_all('/,\d{2}/', $test, $match)) {
   print_r($match);
}