星期二, 11月 27, 2012

PHP 5.3.0 後 不建議使用 split() 的替代方式

資料來源:http://blog.longwin.com.tw/2010/05/php-530-split-replcae-2010/



PHP 的 split() 非常方便, 但是 PHP 5.3.0 後, 不建議繼續使用 split(), 在使用上會出現警告訊息

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 的快很多)



沒有留言: