php获得两个字符串公共最大子串的函数

<?php
header("Content-type: text/html; charset=utf-8");
function search($str1,$str2)
{
$i=$j=$k=$a=null;
$m=strlen($str1);
$n=strlen($str2);
$index=0;
$maxlen=0;
$flag=0;
for ($i=0;$i<$n;$i++)
{
$k=$i;
for ($j=0;$j<$m;$j++)
{
$a = 0;
$flag = 0;
$jk=$j;
$kk=$k;
while($jk<=$m&&$str1[$kk]==$str2[$jk])
{
$kk++;$jk++;$a++;
$flag = 1;
}
if($flag==1)
{
if($a>$maxlen)
{
$maxlen = $a;
$index = $jk-$a;//匹配的首项
}
}
}

}
echo "匹配最大长度为:".$maxlen.",匹配结果为:";
for(;$maxlen>0;$maxlen--)
{
echo $str2[$index++];
}
echo "<br>";
}
search("ddaacffd","dddaacffd");
?>

posted on   liuwenbohhh  阅读(475)  评论(0编辑  收藏  举报

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示