比较数组条目是否等于另一个数组的任何条目

时间:2010-08-02 15:07:32

标签: php arrays comparison

这是问题所在: 我有通过textarea输入的单词。我把每个单词放在一个条目中。即单词是一个数组。另一方面,我得到了一个单词列表,其中单词由换行符分隔,我也将每个单词放在另一个数组中。

现在我想查看$words_entered[$i] = any (and which) of the array $wordlist

提前致谢!

3 个答案:

答案 0 :(得分:4)

如果您想要列表中的结果:

$intersection = array_intersect($words_entered,explode("\n",$wordlist));

如果您希望结果不在列表中:

$diff = array_diff($words_entered,explode("\n",$wordlist));

答案 1 :(得分:1)

使用in_array功能:

if (in_array($words_entered[$i], $wordlist))
{
  echo 'The word ' . $words_entered[$i] . ' is in the wordlist' . '<br />';
}

答案 2 :(得分:0)

我会马上检查......


$dic=explode("\n",file_get_contents('dictionary.txt'));

$words=array();
$words=explode(" ",strtolower(file_get_contents('text.txt'));

foreach($words as $index=>$word) {
  if(in_array($word,$dic)) {
    // do something
  } else {
    // do something else
  }
}

如果文本很大,我会通过将is_array替换为这样的isset来加快比较......


$dic_temp=explode("\n",file_get_contents('dictionary.txt'));
$dic=array();
foreach($dic_temp as $k=>$v) {
  $dic[$k]=1;
}
unset($dic_temp);

$words=array();
$words=explode(" ",strtolower(file_get_contents('text.txt'));

foreach($words as $index=>$word) {
  if(isset($dic[$word])) {
    // do something
  } else {
    // do something else
  }
}