php koşullu while döngüsü?

4 Cevap php

Bunun için açık bir cevabı var eminim - kimse umut bana yardımcı olabilir -

Ben döngü sırasında bir PHP yapmanız gereken, ancak eğer bir değişken doğrudur. Kod bloğu çok büyük ve çirkin ve kafa karıştırıcı olabilir, çünkü Ve ben gerçekten yapmak için bariz bir şey gibi görünüyor bir "eğer" açıklamada, while döngüsü koyamazsınız. Ben bir işlev içine döngüde kodunu kırmak gerekir, ya da bu ile başa çıkmak için daha kolay bir yolu var mı?

Burada temel fikir:

if(condition){
  while(another_condition){
    //huge block of code loops many times
  }
} else {
  // huge block of code runs once
}

Ama sadece koşul yanlış ise bir kez yürütmek ve sürece koşul doğruysa another_condition doğrudur olarak yürütmek için - I kod büyük blok ne olursa olsun durum değişkenin devletin yürütmek istiyorum.

Anlatabildim!

Aşağıdaki kod çalışır, ama ben başarmak istiyorum ne bir fikir verir vermez:

if(condition){ while(another_condition){ }
  // huge block of code
if (condition){ } } // closes the while loop-- obviously throws an error though!

şimdiden teşekkürler.

4 Cevap

Sizin için ne arıyorsanız bu tür?

while (condition && another_condition) {
   // large block of code
}
if (!condition) {
   // do something else
}

Sorunu doğru anlaşılır ise, do ... while() yapısını kullanabilirsiniz:

do
{
    // your code
} while(condition);

Bu // your code kez olursa olsun herhangi bir faktör, ve sonra sadece ikinci tekrarında için ve bu sonra koşulu kontrol edecek yürütecektir.

Kod sizin büyük blok bazı özel işlevleri ayrılabilir eğer okunabilmesi için, bunu. Daha sonra hata ayıklama gerekiyorsa kesinlikle dışarı ödeyecek.

Yinelenen kod kalmadan tekrar kullanılabilir böylece bir işlev kodu büyük bir blok koymak istiyveyasunuz.

function hugeBlockOfCode() {
  // Huge block of code.
}

while (condition && another_condition) {
  hugeBlockOfCode();
}

if (!condition) {
  // Run code once.
  hugeBlockOfCode();
}

veya

do {
  hugeBlockOfCode();
} while (another_condition);