本地测试的程序上传到服务器出现很多错误,Deprecated: Function split() isdeprecated
查了原因是因为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) 列表, 详可见: PHP: Differences from POSIXregex
* 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 的快很多)
查了原因是因为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) 列表, 详可见: PHP: Differences from POSIXregex
* 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 的快很多)
本文详细解释了在将使用PHP5.2版本开发的程序迁移至PHP5.3版本服务器时,遇到的split()函数被标记为已废弃的问题。分析了该错误的原因,并提供了从POSIX规则到PCRE规则的转换方案,包括推荐的替代函数,如preg_replace()和preg_split(),以确保程序在新环境下正常运行。
3122

被折叠的 条评论
为什么被折叠?



