T_ENCAPSED_AND_WHITESPACE错误

时间:2012-02-04 15:09:48

标签: php diff

我正在尝试将差异脚本放入我的网站,来自Paul Butler的网站:http://paulbutler.org/archives/a-simple-diff-algorithm-in-php/

它给了我错误

  

解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE,   在138行期待']'

第38行是

$matrix[$oindex][$nindex] = isset($matrix[$oindex - 1][$nindex - 1])

之前和之后的更多行是:

 function diff($OLDHISTORY, $NEWHISTORY){
     $maxlen = 0;
     foreach($OLDHISTORY as $oindex => $ovalue){
         $nkeys = array_keys($NEWHISTORY, $ovalue);
         foreach($nkeys as $nindex){
             // vvv ERROR LINE vvv
             $matrix[$oindex][$nindex] = isset($matrix[$oindex - 1][$nindex - 1]) ?
                                          $matrix[$oindex - 1][$nindex - 1] + 1 : 1;
             if($matrix[$oindex][$nindex] > $maxlen){
                 $maxlen = $matrix[$oindex][$nindex];
                 $omax = $oindex + 1 - $maxlen;
                 $nmax = $nindex + 1 - $maxlen;
             }
         }
     }
     if($maxlen == 0)
         return array(array('d'=>$OLDHISTORY, 'i'=>$NEWHISTORY));
     return
         array_merge(
             diff(
                 array_slice($OLDHISTORY, 0, $omax),
                 array_slice($NEWHISTORY, 0, $nmax)
             ),
             array_slice($NEWHISTORY, $nmax, $maxlen),
             diff(
                 array_slice($OLDHISTORY, $omax + $maxlen),
                 array_slice($NEWHISTORY, $nmax + $maxlen)
             )
          );
 }

1 个答案:

答案 0 :(得分:1)

修正了它,我忘了关闭html部分和功能部分之间的回声。现在出现,仍然没有正常工作,但我到了那里