我如何计算php中两个字符串之间的差异数量?

时间:2016-09-16 11:47:07

标签: php compare

我想比较两个字符串,因为较短的字符串长度和返回差异主题的数量。例如:

$first_str = "abcdez";
$second_str= "abhdx";

现在由于$second_str的长度较短因此必须返回2因为它们仅在第三和第四个索引中有所不同。实际上是比较平等指数。 在php中有这项工作的功能吗?如果没有,你能帮我写代码吗?

2 个答案:

答案 0 :(得分:2)

阵列很适合这样的事情。我没有测试它,但它应该工作

$a_first_str = str_split($first_str);
$a_second_str = str_split($second_str);

$diff=array_diff_assoc($a_second_str, $a_first_str);

你将有一个显示diff

的数组

答案 1 :(得分:1)

也许这有帮助。我分享了Anant的评论。

$first_str = "abcdez";
$second_str= "abhdx";

$first_str_array = str_split($first_str);

$second_str_array = str_split($second_str);

$first_count = count($first_str_array);
$second_count = count($second_str_array);

if (($first_count - $second_count) > 0) {
    $count = $first_count - $second_count;
    unset($first_str_array[$first_count-$count]);
} else if (($second_count - $first_count) > 0){
    $count = $second_count - $first_count;
    unset($second_str_array[$second_count-$count]);
}

$final_difference = array_diff($first_str_array,$second_str_array);