php 字符串交集

发布时间 2024-01-04 20:23:04作者: 伊索
echo '字符串交集';

$intersection = array_intersect(str_split($str1), str_split($str2)); 
$result = implode('', $intersection);



# 找到两个字符串完全相同的部分
# 赋值给$longest,当找到有最长的字符串,就替换$longest
function intersection($str1 ='' , $str2 =''){  
    $start=0; $end=2; $longest = ''; $len = strlen( $str1 ); 
    // 找到两个字符串完全相同的部分,赋值给 $longest ,当找到有最长的字符串,就替换 $longest
    for ($i=0; $i < $len; $i++) {
        //echo $i;
        $part = substr($str1, $start, $end); 
        if(strpos( $str2, $part) == true){
            if( strlen($part) > strlen($longest)){
                $longest = $part;
            } 
            $end++; 
        }else{
            $i++;
            $start = $i - 1;
            $end = 2;
        }
    }
    return $longest; 
}