从循环外的foreach循环内的东西创建一个If语句?

时间:2013-08-24 13:10:16

标签: php

我试图不在循环中显示特定字段,因此我需要获取所有字段类型的列表,以便我可以在if语句中使用它。不确定我怎么能这样做?

foreach($this->sections as $k => $section){

    foreach($section['fields'] as $k => $type){

        //This makes a nice list of all the stuff I need
        echo '<li>'.var_dump ($type['type']).'</li>';
    }     
        //Outside the loop doesn't dump all of the contents just some  
        echo '<li>'.var_dump ($type['type']).'</li>';

    if($type['type'] != 'switch'){

        //My stuff

    }

}

这个想法是循环所有字段类型,除了在if语句中声明的一个特定类型。每个都是如此,我可以得到所有字段类型的列表。

1 个答案:

答案 0 :(得分:3)

正如您可能已经经历过的那样,您提出的构造是不可取的,因为if语句将在循环结束后执行。


您可以使用continue关键字跳转到下一个迭代并跳过您不感兴趣的字段。

foreach ($section['fields'] as $k => $type) {
    if ($type['type'] != 'switch') {
        continue;
    }

    // do stuff
}

http://php.net/manual/en/control-structures.continue.php