SORU
9 ŞUBAT 2012, PERŞEMBE


eğer patlak ve dosyalarda grup

Bir foreach deyimi döngü ve bir ben var. Eğer bir eşleşme bulunursa sonuçta dosyalarda grup çıkmaya ihtiyacım var.

foreach($equipxml as $equip) {
    $current_device = $equip->xpath("name");
    if ( $current_device[0] == $device ) {
        // found a match in the file            
        $nodeid = $equip->id;
        <break out of if and foreach here>
    }       
}

CEVAP
9 ŞUBAT 2012, PERŞEMBE


if olamaz yani döngü bir yapı olarak kabul edilmez "dışarı". Ancak foreach bittiğinde sadece break çağırarak kırabilirsiniz:

foreach($equipxml as $equip) {
    $current_device = $equip->xpath("name");
    if ( $current_device[0] == $device ) {
        // found a match in the file            
        $nodeid = $equip->id;
        break; // will leave the foreach loop and also "break" the if statement
    }
    this_command_is_not_executed_after_a_match_is_found();
}

Bu soru üzerinde yanılmak başkalarının cevabını arıyorum sadece kabul eder..

break kaç mola gerekir döngü yapıları yukarı doğru tanımlayan isteğe bağlı bir bağımsız değişken alıyor.

foreach (array('a','b','c') as $a) {
    echo "$a ";
    foreach (array('a','b','c') as $b) {
        echo "$b ";
        if ($a == $b) { 
            break 2;  // this will break both foreach loops
        }
    }
}
echo "done";

Çıktı sonuç:

bir bir bitti


Eğer bazı karanlık nedeni - break bir if açıklama (hangi değil bir döngü yapısı ve bu bakımdan kırılgan başına çözünürlük), sadece sarma if küçük bir döngü yapısı böylece atlamış bir kod bloğu.

Lütfen bu üçkağıtçının teki olduğunu unutmayın ve bunu yapmak olmaz normalde:

do if ($foo)
{
  // Do something first...

  // Shall we continue with this block, or exit now?
  if ($abort === true) break;

  // Continue doing something...

} while (false);

Yukarıdaki örnekte comment in the PHP docs alınır

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Engadget

    Engadget

    18 EYLÜL 2006
  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • OVERWERK

    OVERWERK

    6 Temmuz 2010