你应该在调用preg_match之前初始化$ matches吗?

del*_*ala 6 php regex

preg_match接受$matches参数作为参考.我见过的所有例子都没有在它作为参数传递之前初始化它.像这样:

preg_match($somePattern, $someSubject, $matches);
print_r($matches);
Run Code Online (Sandbox Code Playgroud)

这不容易出错吗?如果$matches已包含值,该怎么办?我认为应该在将它作为arg传递之前初始化为空数组.像这样:

$matches = array();
preg_match($somePattern, $someSubject, $matches);
print_r($matches);
Run Code Online (Sandbox Code Playgroud)

我只是偏执狂吗?

Chr*_*ear 7

无需初始化$ match,因为它将随结果一起更新.它实际上是函数的第二个返回值.

  • 不,它通过引用传递,因此不会被更新。 (2认同)
  • 好的,更新了.它的价值被覆盖. (2认同)