31

我有以下语句在 PHP 5.3 之前使用 split 函数运行良好:

$command = split (" ", $tag[1]);

升级到 PHP 5.3 后,我收到弃用警告:

Deprecated: Function split() is deprecated.
4

3 回答 3

54

使用explode

$command = explode(" ", $tag[1]);

这是此案例的标准解决方案。

如果您需要匹配正则表达式(而不是像空格这样的简单表达式),请使用preg_split. 它比 慢explode,所以除非你需要正则表达式,否则没有理由使用它。

顺便说一句,做相反的事情(将数组元素连接成一个字符串),使用implode.

于 2013-07-23T16:31:54.440 回答
3

这个页面:

提示

从 PHP 5.3.0 开始不推荐使用 split()。preg_split()是此函数的建议替代方法。如果您不需要正则表达式的强大功能,则使用explode() 会更快,这不会产生正则表达式引擎的开销。

如果您要拆分为 " ",您可能会认为 explode 是一个更好的选择。

于 2013-07-23T16:32:09.833 回答
3

好吧,有人应该做的第一件事就是检查文档:split

推荐使用preg_split或者explode

于 2013-07-23T16:32:31.803 回答