0

我有两个单词列表,比如说listA和listB。我想检查 listB 中的每个单词是否包含在 listA 中。直观的方法是查找 listB 中的每个单词并检查:

$pos = strpos($word , $listBContent) ; 
if( $pos != false) { ... } 

但我担心这种过程太“昂贵”——假设 listA 和 listB 每个包含 n 个单词,复杂度将是 O(n^2)。有什么方法可以让我更有效地运行这个特定的过程吗?我想过使用后缀树,但我不知道是否可以(以及如何)从单词列表而不是单个单词中创建一个。任何建议都会有所帮助,在此先感谢

4

1 回答 1

0

有一个函数叫做array_intersect

<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>
于 2012-07-28T21:42:10.320 回答