不推荐拆分功能

时间:2012-10-25 04:58:23

标签: php deprecated

我的php脚本中有一个弃用的错误

Deprecated: Function split() is deprecated in directory\filename on line 153

这是错误行

list($ns, $el) = split( ':', $element, 2);

我该如何解决这个问题?我正在运行PHP5.3。

2 个答案:

答案 0 :(得分:1)

自PHP 5.3起,不推荐使用整个REGEX扩展。使用PCRE扩展,它具有函数preg_split,并且几乎可以为您提供相同的结果。

查看您的代码段,您实际上并不需要使用正则表达式来拆分该字符串,这是PCRE扩展提供的。

您可以使用explode函数,这也可以为您提供相同的结果,而无需解析和标记正则表达式。

答案 1 :(得分:1)

截至PHP 5.3.0,

split函数已被弃用。非常不鼓励依赖此功能。您可以使用preg_split例如preg_split("/[\s,]+/", "hypertext language, programming")。或者您可以使用array explode ( string $delimiter , string $string [, int $limit ] )例如

  

//示例1   $ pizza =“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; // *