【发布时间】:2011-06-03 14:44:35
【问题描述】:
首先,我要通知的是,我需要的是 in_array PHP 函数的反转。
我需要搜索字符串中的所有数组项,如果找到,函数将返回true,否则返回false。
我需要这个问题的最快解决方案,当然这可以通过迭代数组和使用 strpos 函数来成功。
欢迎提出任何建议。
示例数据:
$string = 'Alice goes to school every day';
$searchWords = array('basket','school','tree');
返回 true
$string = 'Alice goes to school every day';
$searchWords = array('basket','cat','tree');
返回 false
【问题讨论】:
-
好吧,我认为你的速度不会比
strpos()快。 -
不同意你,@Erisco。正则表达式会做到这一点并且速度更快。我只是不太了解。
-
在我发布初始评论之前没有检查 malko 的答案。
-
@afaolek,我相信这在很大程度上取决于搜索词的数量。对于小数字,我怀疑正则表达式会胜出,除非被搜索的字符串变得非常大并且搜索词的数量大于一个。