1

我希望你能帮我解决这个问题。我对这个问题完全感到困惑。不知何故,我的 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

4

2 回答 2

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);

(另外,您正在使用$stringthen$test但我认为这只是问题中的一个错字。)

于 2013-06-26T14:18:34.207 回答
0

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

if (preg_match_all('/,\d{2}/', $test, $match)) {
   print_r($match);
}
于 2013-06-26T14:19:37.003 回答