PHP - 找到匹配时停止搜索

时间:2010-09-15 16:27:50

标签: php preg-match

传入是来自文本框或其他功能的单个词

function searchformatch($keyword){

              if(!$keyword){hey-enter-a-keyword-function();}
                foreach (glob("directory/*.txt") as $filename) {
                 $file = $filename;
                 $contents = file($file);
                 $string = implode($contents);
                   foreach ($string as $look){
                     if (preg_match("/\b".$keyword."\b/i", $look) {
                /*echo $string;*/
                      }
                   }
                 }
             }

这是我尝试在目录中的某些文件中查找精确的行匹配。 (每一行都是一个字。)

但是,我想让它在找到匹配时停止搜索。

如果$ keyword是一个关键字数组,我也想在另一个函数中执行此操作。 (例如:从文本区域开始。)但是,这可能是另一个问题。

1 个答案:

答案 0 :(得分:1)

如果找到匹配项,请使用break停止foreach循环:

foreach ($string as $look) {
    if (preg_match("/\b".$keyword."\b/i", $look)) {
        /*echo $string;*/
        break;
    }
}

使用break 2,您可以停止两个循环。