php从数组中查找字符串中的匹配单词

时间:2013-11-05 09:25:22

标签: php arrays foreach match

我需要从字符串中找到1个单词,例如:

  $row['keyword'] = "hello my name is jon";

如果“text”一词与$row['keyword']中的一个词匹配,那就做点什么..

我试试这个,但我认为还有更好的方法:

       foreach($rows as $row) 
        { 
            if (strpos($row['keyword'],"text") !== false) {
               // do something
            }
        }

2 个答案:

答案 0 :(得分:0)

我认为您提供的代码看起来很好,它可能是您想要完成的工作的最佳解决方案。关于它的唯一问题是“你想要为包含针头的每个干草堆运行什么代码 - 或者只为你发现的第一个干草堆?”。如果是后者,那么你应该加一个休息时间;在做了一些代码之后。

如果您正在尝试对代码进行性能调优,那么这确实不是您需要担心的事情。您对代码所做的任何更改都至少是,并且对不成比例的工作量的影响可以忽略不计。如果你的代码运行正常,那就不用担心了。如果遇到性能问题,那么您需要准确调查瓶颈的位置以及它们发生的原因,并优化脚本的这些部分。在优化时,重要的是找到您将从所需工作中获得最大收益的位置。

您可以做出的最大和最佳优化选择是为您想要做的事情选择正确的算法,其他一切都是实施细节。

答案 1 :(得分:-1)

有许多替代方案和方法,但取决于您的要求。您可以查看此链接http://us2.php.net/strstr和“另请参阅”部分。此外,您可以简化代码而不是使用数组和循环。请参阅以下内容:

$str = 'hello my name is jon';
if(strpos($str, 'text')!='')
 echo "do something";
else
 echo "do something";