考虑以下代码:
preg_match('/(\d)(\d?)/', '1', $matches);
var_export($matches);
它输出:
array (
0 => '1',
1 => '1',
2 => '',
)
所以可选[2]
条目是set,但是是一个空字符串。
但是,我记得过去曾见过最后使用时未设置可选捕获组的情况(数组将停止在[1]
)。
是我做梦了,还是有一些无法设置条目的情况?
我知道if (! isset($matches[2]) || $matches[2] == '')
如果我想确定我可以使用,但这会使代码不必要地混乱。