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

  • MovieZoneET

    MovieZoneET

    22 Aralık 2009
  • Sams Page :D

    Sams Page :D

    15 Mart 2009
  • TechShowsYou

    TechShowsYou

    3 Mart 2011