у меня есть цикл foreach
я пытаюсь найти совпадение, если совпадение найдено, то могу пропустить цикл foreach
я использовал оператор break в условии if
теперь я сомневаюсь, что если условие ложно, то оно продолжает выполнение foreach?
Кто-нибудь может прояснить мои сомнения?
это мой код
foreach ($s->find('div#results', 0)->find('div.result') as $lifirsts) {
$name1= $lifirsts->find('h4',0)->plaintext;
$desc1=$lifirsts->find('span.description',0)->plaintext;
$desc1=trim($desc1);
$desc1= strip_tags($desc1);
$name1=trim($name1);
$name1= strip_tags($name1);
if (strpos($name1,$exactsearch)!== false || strpos($desc1,$exactsearch)!== false ) {
//$counter_exact++;
$flag++;
break;
}
}
Да, если утверждение ложно, то оно будет продолжено в цикле …
Если вы просто хотите прекратить выполнение цикла, когда совпадение найдено (например, условие истинно, используйте следующую оптимизированную версию)
foreach ($s->find('div#results', 0)->find('div.result') as $lifirsts) {
$name1= $lifirsts->find('h4',0)->plaintext;
$desc1=$lifirsts->find('span.description',0)->plaintext;
$desc1=trim($desc1);
$desc1= strip_tags($desc1);
$name1=trim($name1);
$name1= strip_tags($name1);
if (strpos($name1,$exactsearch) || strpos($desc1,$exactsearch))
{
//$counter_exact++;
$flag++;
break;
}
}