0

ループ内で特定のフィールドを表示しないようにしようとしているので、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 つの特定の型を除いて、すべてのフィールド型をループすることです。for each は、すべてのフィールド タイプのリストを取得できるようにするためです。

4

1 に答える 1

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

于 2013-08-24T13:13:28.910 に答える