Ausbrechen aus forloop aber innerhalb der switch-Anweisung in php

Wenn ich normal, wollen ausbrechen aus einer foreach-Schleife, bis alle Iterationen abgeschlossen habe ich einfach mit einem break; - Anweisung. z.B.

foreach($nodelist as $node) {
   if($metCriteria) {
       break;
   }
}

Aber meine nächsten Beispiel wird der switch-Anweisung. Und wenn eine der Bedingungen erfüllt sind, dann muss ich Pause von der foreach-Schleife. (Das problem ist das break ist für die switch-Anweisung)

foreach($nodelist as $node)
{
    switch($node->nodeName) {
        case "a" :
            //do something
            break;
        case "b" :
            //break out of forloop
            break;
    }
}

Kann ich einfach eine variable in der switch-Anweisung dann Pause, nach der es? z.B.

$breakout = false;
foreach($nodelist as $node)
{
    switch($node->nodeName) {
        case "a" :
            //do something
            break;
        case "b" :
            $breakout = true;
            break;
    }
    if($breakout === true) break;
}

Ist das die beste Lösung? oder gibt es einen anderen Weg?

InformationsquelleAutor Lizard | 2010-07-16
Schreibe einen Kommentar