Deprecated: Function split() is deprecated in … 解决办法

       最近SAE上配置之前在本地开发的一个小项目,结果就出现问题了,不能正常的运行,出现“Deprecated: Function split() is deprecated in cart.php on line 79”,我就奇怪了!~

      错误截图:

    

找到一篇文章:

—————————————————————————————————————————

 本地测试的程序上传到服务器出现很多错误,Deprecated: Function split() is deprecated  

查了原因是因为PHP的版本不同所导致的,本身程序开发的时候用的是PHP5.2以下版本,而现在空间上用的是PHP5.3的版本,很多PHP函数已经过时不能用了,这里的这个错误原因就是函数split()在 PHP5.3 中已经不建议使用了。

PHP5.3 split() 不建议使用的原因:

PHP 5.3.0 之后的regex, 希望使用PCRE 的规格, POSIX Regex 都不建议使用了(统一Regex, 避免规格太多?).

所以下述是不建议使用的Function (POSIX), 与建议替换成的Function (PCRE) 列表, 详可见: PHP: Differences from POSIX regex

* POSIX → PCRE

* ereg_replace() → preg_replace()

* ereg() → preg_match()

* eregi_replace() → preg_replace()

* eregi() → preg_match()

* split() → preg_split()

* spliti() → preg_split()

* sql_regcase() → No equivalent

PHP split() 替代方案

* 需要regex 的split, 可用preg_split() 代替

* 不需要regex, 只要要快速分割固定的字串, 可用explode() 代替. (速度会比需要regex 的快很多)

———————————————————————————————————————————————–

照着上面的提示,找到错误的地方,改为$pns=preg_split(“/-/”, $pn):

 这样就能正常显示了!~

 

共有 24 条评论

Top