Forloop dışarı ama switch deyimi php içinde dışarı kırın

0 Cevap php

Ben normalde yineleme tüm tamamladınız önce bir foreach döngü çıkmak istediğinizde ben sadece bir mola kullanmak; deyim. örneğin

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

Ama benim bir sonraki örnek içinde bir switch deyimi vardır. Ve koşullardan biri daha sonra karşılandığı takdirde ben foreach döngü kırmak gerekir. (Mola olmanın sorun switch ifadesi için kullanılır)

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

Do I simply set a variable in the switch statement then break after it? e.g.

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

Is this the best solution? or this there another way?

0 Cevap