php Function split() is deprecated 的解決辦法


php升級為5.3后,程序會報 Function split() is deprecated 的錯誤。
這是因為種種原因(主要是關於正則的原因,具體見后),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 的快很多)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM