我必须比较两个字符串,例如INTU
和IXTE
,并检查两个或多个字符是否相同。使用前两个字符串,我想返回true
,因为I和T是相同的。
字符串中的字母顺序最终无关紧要,因为每个字符不能出现在字符串中的不同位置。似乎应该有一个简单的方法来做到这一点。
答案 0 :(得分:8)
查看similar_text()
。以下代码未经测试,但我认为它可以按您的意愿工作。
$a = "INTU";
$b = "IXTE";
$is_match = ( similar_text($a , $b) >= 2) ;
答案 1 :(得分:1)
你可以使用php的array_intersect()函数 它返回所有交叉点。因此,如果返回的值超过2,则返回true。
但它不接受字符串元素作为输入,因此您需要使用要比较的字符串的字符填充数组。
答案 2 :(得分:0)
function compare_strings($str1, $str2)
{
$count=0;
$compare[] = substr($str1, 0, 1);
$compare[] = substr($str1, 1, 1);
$compare[] = substr($str1, 2, 1);
$compare[] = substr($str1, 3, 1);
foreach($compare as $string)
{
if(strstr($str2, $string)) { $count++; }
}
if($count>1)
{
return TRUE;
}else{
return FALSE;
}
}