php中单字符串匹配算法实例

作者:袖梨 2022-06-24

 

 代码如下 复制代码

/*

最简单字符串匹配算法php实现方式

 
T: ababcabc

P: abc

 
0.          1.          2.

ababcabc    ababcabc    ababcabc

|||          |||          |||

abc          abc          abc

(X)          (X)          (O)

 
3.          4.          5.

ababcabc    ababcabc    ababcabc

   
|||          |||          |||

   
abc          abc          abc

   
(X)          (X)          (O)

*/

 
$str="ababcabc";
$search="abc";
 
$strlen=strlen($str);
$searchlen=strlen($search);
 
//1.遍历$str字符串

for($i=0;$i<$strlen;$i++){
    if($i+$searchlen>$strlen){
        echo '超出长度';break;
    }
 
    $match=true;
 
    
//2.遍历要搜索的字符串$search,进行对比

    for($j=0;$j<$searchlen;$j++){
 
        if($str[$i+$j]!=$search[$j]){
            $match=false;
            break;
        }
        $k=$i+$j;
        if($match){
            if($j==$searchlen-1){
                echo "{$str}第{$i}个位置开始为{$search}\n";break;
            }
        }
 
    }
 
}
 
?>

相关文章

精彩推荐