thomas: Ausgabeproblem mit doppelter foreach()

Beitrag lesen

Hallo alle zusammen, ich habe ein Problem, an dem ich sehr zu knabbern habe. Innerhalb der Ausgabe einer Suchmaschine verwende ich 2 foreach-Schleifen:

$zeile=file($datei);
$match=0;
$woerter=explode(" ", $_GET["key"]);
foreach($woerter as $einzelwort) {
 foreach($zeile as $detail){
  if(substr_count($detail, $einzelwort)==true) {
  $match++;
   if($match!==0) {
   $split_detail=explode("###",$detail);
   echo <<<EOT
   //Hier steht die Ausgabe
   EOT;
   }
  }
 }
}

Wenn ich jetzt 2 Suchwörter eingebe, z.B. abend schlafen und beide Wörter in 2 Einträgen gefunden wurde, erhalte  eigentlich ganz logisch wegen der verschachtelten foreach-Schleifen  insgesamt 4 Treffer anstatt 2, wobei dich die Einträge wiederholen. Wie kann ich dieses Ausgabeproblem lösen? Gibt es da eine schlaue Methode? Bin für jeden Tipp dankbar, es muss kein Code sein (man will ja lernen)!

Thomas.