我有一个foreach循环 我正在尝试找到匹配项,如果找到匹配项,则可以跳过foreach循环 我在条件中使用了break语句 现在我怀疑如果条件是假的那么它继续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;
}
}
答案 0 :(得分: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;
}
}
答案 1 :(得分:0)
是的,如果if语句为false,那么它将继续循环...