我正在运行教育软件应用程序。在阅读文本部分,我想识别单词列表中的单词,并为这些单词输出弹出悬停。单词列表中有大约30,000个单词。我可以把它放到MySQL表~~或....有没有更有效的方法?
特别是关于效率,我的意思是减少我的服务器负载。如果阅读文本有500个单词,那么大约有400个MySQL调用来检查每个单词(在使用较小的数组删除基本单词之后)。
答案 0 :(得分:1)
如果您只想比较用户传递的所有单词,您也可以将所有单词放在一个变量中(不在数组中!在一行文本中),使用strpos可以找到它们。我认为会很快!
$mywords = "word1 word2 word3 word4 ....... word40000";
$userWords = array('word2','other');
foreach($userWords as $word) {
if(strpos($mywords, $word)!==false)
{
// you found a word!
}
}