189 8069 5689

php升级后使用deprecated函数报错的解决方法-创新互联

php升级为5.3后,程序会报 Function split() is deprecated 的错误。

创新互联10多年成都企业网站建设服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,成都企业网站建设及推广,对人造雾等多个方面拥有多年的网站制作经验的网站建设公司。

这是因为种种原因(主要是关于正则的原因,具体见后),split这个函数在新版本不支持了。

在php中,再使用deprecated的函数会报错,必须改掉。(java里deprecated的函数只是给警告,还可以继续用)

改为什么呢? 看第一个参数,如果第一个参数不是正则表达式,split改为 explode;如果是正则表达式,split改为preg_split。

explode会比以前快很多,因为以前要考虑正则,explode不考虑正则。

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

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

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

以上就是如何解决php Function split() is deprecated 的问题的详细内容,更多请关注创新互联其它相关文章!


当前题目:php升级后使用deprecated函数报错的解决方法-创新互联
URL标题:http://jkwzsj.com/article/dgpocj.html

其他资讯