在空字符串上使用preg_split

时间:2016-04-18 06:19:07

标签: php preg-split

在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是默认值,所以我希望在两种情况下结果都相同。

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 - 你传递它作为一面旗帜。