我拿着两个单词列表,比如说listA和listB。 我想检查listB中的每个单词,如果它包含在listA中。 直观的方法是在listB中查找每个单词并检查:
$pos = strpos($word , $listBContent) ;
if( $pos != false) { ... }
但我担心这种过程太“昂贵” - 让我们假设listA和listB各包含n个单词,复杂度将为O(n ^ 2)。 有没有什么方法可以用来更有效地运行这个特定的过程? 我想过使用后缀树,但是如果可能(以及如何)从单词列表中创建一个,而不是从一个单词中创建一个,我就不知道了。 任何建议都会有所帮助, 提前谢谢
答案 0 :(得分:0)
有一个名为array_intersect
的函数:
<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>