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

  • Bach Vlogs

    Bach Vlogs

    18 HAZİRAN 2011
  • David MeShow

    David MeShow

    10 EKİM 2006
  • VvCompHelpvV

    VvCompHelpvV

    4 EYLÜL 2007