在PHP中,当我运行以下命令时:
$text = "";
$arr = preg_split('/,/', $text, PREG_SPLIT_NO_EMPTY);
print_r($arr);
我使用一个空元素获得以下数组:
Array
(
[0] =>
)
然而,如果我以-1作为限制运行它:
$text = "";
$arr = preg_split('/,/', $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($arr);
我得到一个完全空的数组:
Array
(
)
为什么会这样?根据{{3}} -1是默认值,所以我希望在两种情况下结果都相同。
答案 0 :(得分:3)
preg_split($pattern , $subject [, int $limit = -1 [, int $flags = 0 ]] ) preg_split('/,/' , $text , PREG_SPLIT_NO_EMPTY );
第三个参数是限制PREG_SPLIT_NO_EMPTY == 1
,当你传递PREG_SPLIT_NO_EMPTY
作为第三个参数时,你告诉它限制为1 - 你不传递它作为一面旗帜。