我在数据库中有一堆字符串,我希望使用某种数据结构,而不是使用SQL" WHERE' b'喜欢' a%'"搜索。
(在现实世界中,这些可以达到5000)
A - 让我说我有话/针:for, in, like, release
注意:这些总是相同的,这里唯一可能发生的是扩展,但它们不会改变
(在现实世界中,这些可以达到50)
B - 然后我有其他的话/干草堆:for people, in magazine, date of release, daily news
注意:这些是动态的,它们总是不同的
我想知道一个很好的方法来查找/删除B中的所有单词,这些单词从A的任何单词开始或结束
因此,我将从示例中删除的内容为:for people, in magazine, date of release
我很高兴即使有一个通用的想法,我可以在PHP中实现
PS:如果所有给定的想法都比较慢,我可能会回到mysql,然后使用mysql LIKE搜索,所以我更喜欢更快的东西,或者至少和mysql一样快
答案 0 :(得分:0)
我能想到的一个解决方案是将字词从B中分开
for, people, in, magazine, date, of, release
标记A中存在的那些
for, in, release
这样我们最终会得到更小的数据,只需在foreach循环中对它们进行strpos就可以了
如果您知道更好的方法,请告诉我。