如何解決php Function split() is deprecated 的問題

2020-07-16 10:05:51
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 的快很多)

推薦:《PHP教學

以上就是如何解決php Function split() is deprecated 的問題的詳細內容,更多請關注TW511.COM其它相關文章!