我试图不在循环中显示特定字段,因此我需要获取所有字段类型的列表,以便我可以在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语句中声明的一个特定类型。每个都是如此,我可以得到所有字段类型的列表。
答案 0 :(得分:3)
正如您可能已经经历过的那样,您提出的构造是不可取的,因为if
语句将在循环结束后执行。
您可以使用continue
关键字跳转到下一个迭代并跳过您不感兴趣的字段。
foreach ($section['fields'] as $k => $type) {
if ($type['type'] != 'switch') {
continue;
}
// do stuff
}