这是问题所在: 我有通过textarea输入的单词。我把每个单词放在一个条目中。即单词是一个数组。另一方面,我得到了一个单词列表,其中单词由换行符分隔,我也将每个单词放在另一个数组中。
现在我想查看$words_entered[$i] = any (and which) of the array $wordlist
。
提前致谢!
答案 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
}
}