东莞网店托管 > 尚梦微商城 > 网站建设 > Function split() is deprecated in
在线客服

Function split() is deprecated in

出处:www.16574.com  编辑:东莞网店托管  发布时间:2021-01-14

今天搞了一个PHP源码,用上了PHP5.3以上的系统,程序要求是5.3,哪里有刚刚好的配置,所以就打开后报错:

Function split() is deprecated in 这个报错处理起来也好简单的;


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) 列表,


方法如下:


<?php
// 计时函数 
function runtime($mode = 0) { 
static $t; 
    if(!$mode) { 
$t = microtime(); 
return; 
    } 
    $t1 = microtime(); 
    list($m0,$s0) = explode(" ",$t);
    list($m1,$s1) = explode(" ",$t1);
    return sprintf("%.3f ms",($s1+$m1-$s0-$m0)*1000); 


将上面的第10行和第11行中的,split改为explode 问题解决!


Differences from POSIX regexPOSIX → PCREereg_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 的快很多)



下一篇:掌趣电竞平台源码,各类比赛:王者荣耀,和平精英
上一篇:百度搜索算法更新,网站如何整改