在比较四个字符串时,检查两个或多个字符是否相等的任何简单方法?

时间:2011-04-27 12:48:18

标签: php string comparison character equals

我必须比较两个字符串,例如INTUIXTE,并检查两个或多个字符是否相同。使用前两个字符串,我想返回true,因为I和T是相同的。

字符串中的字母顺序最终无关紧要,因为每个字符不能出现在字符串中的不同位置。似乎应该有一个简单的方法来做到这一点。

3 个答案:

答案 0 :(得分:8)

查看similar_text()。以下代码未经测试,但我认为它可以按您的意愿工作。

$a = "INTU";
$b = "IXTE";

$is_match = ( similar_text($a , $b) >= 2) ;

答案 1 :(得分:1)

你可以使用php的array_intersect()函数 它返回所有交叉点。因此,如果返回的值超过2,则返回true。

但它不接受字符串元素作为输入,因此您需要使用要比较的字符串的字符填充数组。

手册: http://php.net/manual/de/function.array-intersect.php

答案 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;
  }
}