我在PHP脚本分割功能过时
Deprecated: Function split() is deprecated in directory\filename on line 153
得到了一个废弃的错误这是错误线
list($ns, $el) = split(':', $element, 2);
我该如何解决这个问题?我在PHP5.3中运行。
我在PHP脚本分割功能过时
Deprecated: Function split() is deprecated in directory\filename on line 153
得到了一个废弃的错误这是错误线
list($ns, $el) = split(':', $element, 2);
我该如何解决这个问题?我在PHP5.3中运行。
分割函数自PHP 5.3.0开始已被取消。依靠这个功能是非常不鼓励的。您可以使用preg_split
,例如preg_split("/[\s,]+/", "hypertext language, programming")
。或者你可以使用array explode (string $delimiter , string $string [, int $limit ])
例如
//例1 $比萨饼= “piece1 piece2 piece3 piece4 piece5 piece6”;
$ pieces = explode(“”,$ pizza);
echo $ pieces [0]; // piece1
echo $ pieces [1]; // piece2
//示例2 $ data =“foo:*:1023:1000 ::/home/foo:/ bin/sh”;
list($ user,$ pass,$ uid,$ gid,$ gecos,$ home,$ shell)= explode(“:”,$ data);
echo $ user; // foo echo $ pass; // *
从PHP 5.3开始,不推荐使用整个REGEX扩展。使用PCRE扩展,它具有功能preg_split
,并且几乎会给你相同的结果。看看你的代码片段,你并不需要一个正则表达式来分割该字符串,这是PCRE扩展提供的。
您可以使用explode
函数,它也会给你相同的结果,而不需要解析和标记正则表达式。
您是否阅读过此函数的[文档](http://php.net/manual/en/function.split.php#refsect1-function.split-notes)? – DCoder
使用preg_split()。 http://www.php.net/manual/en/function.preg-split.php –
如果您想根据正则表达式进行拆分,请使用'preg_split'类似的建议。如果您想基于简单字符进行分割,请使用'explode'。从你那里的例子来说,我会说'爆炸'去。详情请参阅我的回答。 – 9ee1