оператор if — проблема с прохождением цикла php

у меня есть цикл 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;

}
}

1

Решение

Да, если утверждение ложно, то оно будет продолжено в цикле …

0

Другие решения

Если вы просто хотите прекратить выполнение цикла, когда совпадение найдено (например, условие истинно, используйте следующую оптимизированную версию)

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;
}
}
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector