PHP5.3 为何不建议使用split()函数

网络整理 - 08-02

本地开发用到的php版本一定要和服务器版本一样,否则上传后会出现很多问题。 

本地测试的程序上传到服务器出现很多错误,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) 列表, 详可见:


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