小编Mij*_*oja的帖子

需要帮助优化php字符串差异功能

我创建了这个函数,它适用于小字符串,但对于较长的字符串,它会超时.我正在寻找一种方法来使功能更快,而不是超时,或者更好的方式来实现我想要的.

function find_diffs($string1, $string2)
{
    $array1 = preg_split("/\b/", $string1);
    $array2 = preg_split("/\b/", $string2);
    $array3 = array();


    for($i=0, $j=0; $i < count($array1) || $j < count($array2); $i++, $j++)
    {
        while(badchars($array1, $i))
        {
            $i++;
        }
        while(badchars($array2, $j))
        {
            $j++;
        }

        if($array1[$i] != $array2[$j])
        {
            //-------------------------Find Subtractions--------------------//
            $k = $i;
            while($array1[$i] != $array2[$j])
            {
                $i++;
                if($i == count($array1))
                {
                    $end = true;
                    break;
                }
                while(badchars($array1, $i))
                {
                    $i++;
                }
            }
            if($end)
            {
                //-------------------------Find Additions--------------------//
                $end = false;
                $i = $k;
                $k = $j; …
Run Code Online (Sandbox Code Playgroud)

php string

1
推荐指数
1
解决办法
1146
查看次数

标签 统计

php ×1

string ×1