PHP:错误 Deprecated: Function split() is deprecated in ... 解决办法
作者:我就是个世界
发表于:2010-10-18
本地测试的程序上传到服务器出现很多错误,Deprecated: Function split() is deprecated
查了原因是因为PHP的版本不同所导致的,本身程序开发的时候用的是PHP5.2以下版本,而现在空间上用的是PHP5.3的版本,很多PHP函数已经过时不能用了,这里的这个错误原因就是函数[color=#FF0000]split()[/color]在 PHP5.3 中已经不建议使用了。
[b]PHP5.3 [url=http://www.php.net/manual/en/function.split.php]split()[/url] 不建议使用的原因:[/b]
PHP 5.3.0 之后的regex, 希望使用PCRE 的规格, POSIX Regex 都不建议使用了(统一Regex, 避免规格太多?).[separator]
所以下述是不建议使用的Function (POSIX), 与建议替换成的Function (PCRE) 列表, 详可见: [url=http://www.php.net/manual/en/reference.pcre.pattern.posix.php]PHP: Differences from POSIX regex[/url]
[code]
* 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
[/code]
[color=#008000][b]PHP split() 替代方案[/b][/color]
* 需要regex 的split, 可用[url=http://www.php.net/manual/en/function.preg-split.php]preg_split() [/url] 代替
* 不需要regex, 只要要快速分割固定的字串, 可用[url=http://www.php.net/manual/en/function.explode.php]explode()[/url] 代替. (速度会比需要regex 的快很多)
查了原因是因为PHP的版本不同所导致的,本身程序开发的时候用的是PHP5.2以下版本,而现在空间上用的是PHP5.3的版本,很多PHP函数已经过时不能用了,这里的这个错误原因就是函数[color=#FF0000]split()[/color]在 PHP5.3 中已经不建议使用了。
[b]PHP5.3 [url=http://www.php.net/manual/en/function.split.php]split()[/url] 不建议使用的原因:[/b]
PHP 5.3.0 之后的regex, 希望使用PCRE 的规格, POSIX Regex 都不建议使用了(统一Regex, 避免规格太多?).[separator]
所以下述是不建议使用的Function (POSIX), 与建议替换成的Function (PCRE) 列表, 详可见: [url=http://www.php.net/manual/en/reference.pcre.pattern.posix.php]PHP: Differences from POSIX regex[/url]
[code]
* 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
[/code]
[color=#008000][b]PHP split() 替代方案[/b][/color]
* 需要regex 的split, 可用[url=http://www.php.net/manual/en/function.preg-split.php]preg_split() [/url] 代替
* 不需要regex, 只要要快速分割固定的字串, 可用[url=http://www.php.net/manual/en/function.explode.php]explode()[/url] 代替. (速度会比需要regex 的快很多)
请发表您的评论