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

  • booba1234

    booba1234

    22 Temmuz 2006
  • RocketJump

    RocketJump

    22 ŞUBAT 2006
  • UKF

    UKF

    2 Aralık 2009