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) 列表,
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 的快很多)
希望你的博客如这个夏天一样火热。
2015-07-28 10:52拜读一下,哈哈
2015-07-12 15:46