如何使用php计算在两个不同字符串中找到的相同单词?

时间:2013-07-12 01:31:27

标签: php

说你有:

  

$ text1 =“我可以等待所有之夜”;

     

$ text2 =“我们可以所有天”;

我需要一个函数来告诉我在两个语句中发现3个单词是相同的 即canforall

感谢名单

3 个答案:

答案 0 :(得分:3)

您可以使用explode来获取单词数组:

$text1="i can wait for all night"; 
$text2="we can sing for all day";
$text1arr = explode(" ", $text1);
$text2arr = explode(" ", $text2);

然后,您可以使用array_intersect来获取常用词:

$result = array_intersect($text1arr , $text2arr);

最后,您可以使用count来获取常用词的数量:

$num_in_common = [count][3]($result);

答案 1 :(得分:0)

$words1 = str_word_count($text1, 2);
$words2 = str_word_count($text2, 2);
$common_words = $result = array_intersect($words1, $words2);
$common_count = sizeof($common_words);

答案 2 :(得分:0)

作为一个提醒,SO不是一个编码服务,只要求答案,人们就不会高兴,而提问者似乎没有任何努力。但是,这里有一点让你开始。

array_intersect函数,当给定两个或多个数组时,会为您提供输入之间共享的所有值的数组。

至于找到值的位置,array_search函数给出了数组中值的键。

如果所有数组共享array_intersect输出数组中某个值的相同键,那么您就知道该值由所有数组共享,并处于相同位置。

如何实现这一切取决于你。